在学习沐神目标检测banana那一章时出现这个错误,此bug出现的原因是自己的torchvision版本过低,现有两个解决方法。
1.直接升级torchvison的版本
升级指令pip不在赘述,只要注意升级的版本是否和自己的pytorch版本兼容。
2.修改torchvision.io.read_image代码
我的pytorch版本过低,但是要跑其他代码不方便直接升级因此直接修改读取图片的代码。
原版本:
for img_name, target in csv_data.iterrows():
images.append(torchvision.io.read_image(
os.path.join(data_dir, 'bananas_train' if is_train else
'bananas_val', 'images', f'{img_name}')))
改为:
from PIL import Image
from torchvision import transforms
for img_name, target in csv_data.iterrows():
images.append(transforms.ToTensor()(Image.open(
os.path.join(data_dir, 'bananas_train' if is_train else
'bananas_val', 'images', f'{img_name}')).convert('RGB')))
初步运行结果:
运行成功。