介绍
最近想用cifar-100数据集进行图像分类任务。但是在加载数据和定义迭代器的时候就出了一个很大问题。虽然已经有了一个具体解决方案。但是其中原理还是不是很懂。
报错部分
那就先看报错部分:这时候是可以加载数据集的,迭代器也可以定义,都没什么问题。
但是一使用到cifar_train就会报错,比如:
再者,迭代器也会因为没有调用到模块而报错,我思来想去一下午。也没有想出个所以然来。
解决方案
from torchvision import datasets,transforms
from torch.utils.data import Dataset, DataLoader
cifar_path = 'D:/Jupyter Notebook/Pytorch入门/Cifar-100/'
train_data = datasets.CIFAR100(root=cifar_path, train=True,transform=transforms_train,download=True)
test_data =datasets.CIFAR100(root=cifar_path,train=False,transform=transforms_test,download=True)
train_loader = DataLoader(dataset=train_data,batch_size=64,shuffle=True,num_workers=2)
test_loader = DataLoader(dataset=test_data,batch_size=64,shuffle=True,num_workers=2)
按照上面的代码就可以解决问题了。之后的操作也可以显现出来。
这两个都可以成功打印出来,后面的训练就很轻松啦。
哪位大佬如果知道其中的原理也可以给我留下言,涨涨知识。♪(・ω・)ノ