深度学习制作数据集的部分代码实现(解压zip、生成json文件)

举报
小小谢先生 发表于 2022/04/16 00:21:37 2022/04/16
【摘要】 1、当数据集是压缩包时,需要解压成图片文件 import zipfiledef unzip_data(src_path,target_path): ''' 解压原始数据集,将src_path路径下的zip包解压至data/dataset目录下 ''' if(not os.path.isdir(target_p...

1、当数据集是压缩包时,需要解压成图片文件


      import zipfile
      def unzip_data(src_path,target_path):
         '''
       解压原始数据集,将src_path路径下的zip包解压至data/dataset目录下
       '''
         if(not os.path.isdir(target_path)):
              z = zipfile.ZipFile(src_path, 'r')
              z.extractall(path=target_path)
              z.close()
         else:
             print("文件已解压")
  
 

2、生成json文件


      # 说明的json文件信息
          readjson = {}
          readjson['all_class_name'] = data_list_path                  #文件父目录
          readjson['all_class_images'] = all_class_images
          readjson['class_detail'] = class_detail
          jsons = json.dumps(readjson, sort_keys=True, indent=4, separators=(',', ': '))
         with open(train_parameters['readme_path'],'w') as f:
              f.write(jsons)
         print ('生成数据列表完成!')
  
 

3、自定义data_reader


      def data_reader(file_list):
         '''
       自定义data_reader
       '''
         def reader():
             with open(file_list, 'r') as f:
                  lines = [line.strip() for line in f]
                 for line in lines:
                      img_path, lab = line.strip().split('\t')
                      img = cv2.imread(img_path)
                      img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
                      img = np.array(img).astype('float32')
                      img = img/255.0
                     yield img, int(lab)
         return reader
  
 

 

 

文章来源: blog.csdn.net,作者:小小谢先生,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/xiewenrui1996/article/details/107684903

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。