FastAI:从学习者那里获得图像预测

社会演员多 pytorch 206

原文标题FastAI : Getting Prediction of Image from Learner

我希望能够从学习者那里预测单个图像的类别,并且我总是得到一个索引超出范围的异常。这是代码

data = ImageDataLoader.from_folder(path, train="Train", valid ="Valid",
        ds_tfms=get_transforms(), size=(256,256), bs=32, num_workers=4)
//Model is a Sequential One 
learn = Learner(data, model, loss_func = nn.CrossEntropyLoss(), metrics=accuracy)// The Model
learn.fit_one_cycle(100, lr_max=3e-3)
Img = //PIL Image Path
learn.predict(img)

该模型能够在 ImageDataLoader 上进行预测,但不能在单个图像上进行预测。如果有人有任何线索,将不胜感激这里是 FastAi 的链接,但没有解决问题 https://forums.fast.ai/t/how-to-使用学习者预测列表索引超出范围/81998/7

原文链接:https://stackoverflow.com//questions/71959064/fastai-getting-prediction-of-image-from-learner

回复

我来回复
  • ATony的头像
    ATony 评论

    我认为问题在于data是 4 阶张量,而Img是 3 阶。换句话说,它缺少前面的#points 或批处理维度。在 TF 中,可以用tf.expand_dims这样修复它

    img = tf.expand_dims(img, axis=0)
    

    或在传递给模型时修复它

    learn.predict(tf.expand_dims(img, axis=0))
    

    也可以看tf.newaxis(看这里的第二个代码示例)。

    2年前 0条评论