问题描述:
【功能模块】
使用的数据集是caltech101,遇到的问题主要是读取数据标签的问题
按文件夹显示 airplanes应该是label 1,但是返回的label确实6 (右下角这个)
【截图信息】
代码:
# 载入展示用数据
demo_ds = ds.ImageFolderDataset('data/test', decode=True)
# 设置图像大小
plt.figure(figsize=(6, 6))
# 打印9张子图
i = 1
for dic in demo_ds.create_dict_iterator():
plt.subplot(3,3,i)
plt.imshow(dic['image'].asnumpy()) # asnumpy:将 MindSpore tensor 转换成 numpy
plt.axis('off')
plt.title(dic['label'].asnumpy().item())
print(dic['label'])
print(dic['label'].asnumpy().item())
#print(dic['image'])
i +=1
if i > 9 :
break
plt.show()
解答:
ImageFolderDataset根据文件名字母的ascii码进行排序。该数据集中有的文件名开头字母为大写,会将大写的文件夹名优先读取。