FastAI图像分类模型单图预测报AttributeError: read错误求助
问题解决:FastAI模型单张图片预测出现AttributeError: read
直接修复方案
- 传入fastai封装的PILImage对象或图片文件路径给
learn.predict(),而非原生PIL Image对象。
错误原因
learn.predict()仅支持两类输入:文件路径字符串,或是fastai的PILImage对象。你传入的原生PIL Image对象没有read方法,但fastai内部会尝试对输入调用该方法(用于读取文件流/路径的逻辑),因此触发AttributeError: read。
正确代码示例
方法1:使用转换后的fastai PILImage
from PIL import Image from fastai.vision.all import PILImage pil_img = Image.open('my_path_to_the_image.jpg') fastai_img = PILImage.create(pil_img) # 转换为fastai兼容的图片类型 pred, pred_idx, probs = learn.predict(fastai_img)
方法2:直接传入图片路径(更简便)
pred, pred_idx, probs = learn.predict('my_path_to_the_image.jpg')
补充说明
如果需要对图片进行预处理(如裁剪、调整),处理完成后务必转换为fastai的PILImage类型,才能被模型正确识别。
内容的提问来源于stack exchange,提问作者Dimitriy Glefa
相关产品推荐
相关产品推荐

