如何制作其他尺寸的CIFAR10(附源码)

如何制作CIFAR10请见本人上一篇博客

手把手教你制作自己的CIFAR数据集(附项目源码)

上一篇文章代码中只能生成32*32的CIFAR,若修改代码中的Shape进行训练,经本人测试,并不能正常做出其他尺寸的数据集,故立此贴帮助大家学习!

  1. 首先修改demo.py文件中第15行中的shape=32shape=你想要的输入大小(如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数量
    
  2. 修改load_data.py文件中10-12行的超参数

    DATA_LEN = 150528 #数据长度=通道数*图像宽*图像高  150528 = 3*224*224
    CHANNEL_LEN = 50176 #通道长度=数据长度/通道数 50176 = 150528/3
    SHAPE = 224 #圖像大小
    
  3. 修改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}#将此处修改为你的 数据长度=通道数*图像宽*图像高
    
  4. 修改框架中cifar.py文件中的87行

    cifar.py 在python文件夹->lib ->python3.6 ->site-packages ->torchvision ->datasets ->cifar.py
    ViT为你的Python所在位置
    打开lib找到python
    找到site-packages
    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次数
    
  5. 重新制作CIFAR10

猜你喜欢

转载自blog.csdn.net/p609354432/article/details/120326271