m0_74865151 2024-01-21 21:13 采纳率: 40%
浏览 5

如何将标注好的分类数据集的图片与对应的标签TXT文件导入ResNet

如何将标注好的分类数据集的图片与对应的标签TXT文件导入ResNet,每一个图片对应一个txt文件,并且每张图片上有多个类别

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2024-01-22 08:19
    关注

    【相关推荐】



    • 这篇博客: 使用Resnet网络对人脸图像分类识别出男女性别(包含数据集制作+训练+测试)中的 2.生成train.txt与val.txt 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

      图片数据排布完后,还需要做的就是使用脚本工具,分别生成训练集和验证集的存储路径及对应标签(0或者1)。这一步至关重要,必不可少。因为训练时,就是通过读取这两个txt文件里的路径,来读取训练集和验证集的图片,并输送给网络,同时给对应的标签类别。
      脚本命名Build_all_classes_path_to_txt.py
      **注意:**需要分两次执行,分别创建train.txt与val.txt,记得更改路径

      import os
      import os.path
      
      def listfiles(rootDir, txtfile, foldnam =''):
          ftxtfile = open(txtfile, 'a')
          list_dirs = os.walk(rootDir)
          #foldnam = FolderName[0]
          #print(foldnam)
          count = 0
          dircount = 0
          for root,dirs,files in list_dirs:
             for d in dirs:
                 #print(os.path.join(root, d))
                 dircount += 1
             for f in files:
                 #print(os.path.join(root, f))
                 ftxtfile.write(os.path.join(root, f) + ' ' + foldnam + '\n')
                 count += 1
             #print(rootDir + ' has ' + str(count) + ' files')
      
      
      #获取路径下所有文件夹的完整路径,用于读取文件用  
      def GetFileFromThisRootDir(dir):
          allfolder = []
          folder_name = ''
      
          for root,dirs,files in os.walk(dir):
              allfolder.append(root)
              """
              for filespath in files:
                  filepath = os.path.join(root, filespath)
                  #print(filepath)
                  extension = os.path.splitext(filepath)[1][1:]
                  
                  if needExtFilter and extension in ext:
                      allfiles.append(filepath)
                  elif not needExtFilter:
                      allfiles.append(filepath)            
              """
          All_folder = allfolder
          #print(All_folder)
      
          for folder_num in All_folder[1:]:
              #print(folder_num)
              folder_name = folder_num.split('/')[:]
              print (folder_name)
              listfiles(folder_num, txtfile_path, folder_name[-1])
          return
          
      #def Generate_path_to_txt(FolderPath=[]):
      #    print(FolderPath)
          
          
      
      if __name__=='__main__':
      
      	folder_path = 'F:/Study_code/classification-pytorch/Classification-MaleFemale-pytorch/gender_data/val/'              #val and train folder
      	txtfile_path = 'F:/Study_code/classification-pytorch/Classification-MaleFemale-pytorch/gender_data/val.txt'
      
      	folder_path = GetFileFromThisRootDir(folder_path)
      
      

      生成的.txt文件内容如下
      在这里插入图片描述


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 1月21日

悬赏问题

  • ¥15 曙光1620-g30服务器安装硬盘后 看不到硬盘
  • ¥15 抖音直播广场scheme
  • ¥15 为什么我明明有这个文件调试器还显示错误?
  • ¥15 软件工程用例图的建立(相关搜索:软件工程用例图|画图)
  • ¥15 如何在arcgis中导出拓扑关系表
  • ¥15 处理数据集文本挖掘代码
  • ¥15 matlab2017
  • ¥15 在vxWorks下TCP/IP编程,总是connect()报错,连接服务器失败: errno = 0x41
  • ¥15 AnolisOs7.9如何安装 Qt_5.14.2的运行库
  • ¥20 求:怎么实现qt与pcie通信