如何制作CIFAR10请见本人上一篇博客
手把手教你制作自己的CIFAR数据集(附项目源码)
上一篇文章代码中只能生成32*32的CIFAR,若修改代码中的Shape进行训练,经本人测试,并不能正常做出其他尺寸的数据集,故立此贴帮助大家学习!
-
首先修改demo.py文件中第15行中的shape=32为shape=你想要的输入大小(如224)
if __name__ == '__main__': data, label, lst = read_data(file_list, data_path, shape=224) pickled(save_path, data, label, lst, bin_num = 5)#bin_num为生成的batch数量
-
修改load_data.py文件中10-12行的超参数
DATA_LEN = 150528 #数据长度=通道数*图像宽*图像高 150528 = 3*224*224 CHANNEL_LEN = 50176 #通道长度=数据长度/通道数 50176 = 150528/3 SHAPE = 224 #圖像大小
-
修改edit_mate.py文件中的11行将 ‘num_vis’:3072 修改为150528(数据长度)
dictCow = { 'num_cases_per_batch':3139,#每个batch包含的样本数量 'label_names':['1','10','2','3','4','5','6','7','8','9'],#类别索引,将类别索引表(object_list.txt)中的label_names:填进去 'num_vis':150528}#将此处修改为你的 数据长度=通道数*图像宽*图像高
-
修改框架中cifar.py文件中的87行
cifar.py 在python文件夹->lib ->python3.6 ->site-packages ->torchvision ->datasets ->cifar.py
修改
self.data = np.vstack(self.data).reshape(-1, 3, 32, 32)#将此处的32改为你的图像大小224
修改为
self.data = np.vstack(self.data).reshape(-1, 3, 224, 224)#CIFAR利用这里计算iteration次数
-
重新制作CIFAR10