图片数据集生成标签文件列表,即.txt文件(lmdb文件格式)

在深度学习中的图片训练时,需要将图片生成标签文件列表,

本次我是对于多分类问题,一共8个类别,python代码实现如下:


  
  
  1. #coding:utf-8
  2. import os
  3. def IsSubString(SubStrList,Str):
  4.     flag= True
  5.     for substr in SubStrList:
  6.         if not(substr in Str):
  7.             flag= False
  8.     
  9.     return flag
  10. #扫面文件
  11. def GetFileList(FindPath,FlagStr=[]):
  12.     FileList=[]
  13.     FileNames=os.listdir(FindPath)
  14.     if len(FileNames)> 0:
  15.         for fn in FileNames:
  16.             if len(FlagStr)> 0:
  17.                 if IsSubString(FlagStr,fn):
  18.                     fullfilename=os.path.join(FindPath,fn)
  19.                     FileList.append(fullfilename)
  20.             else:
  21.                 fullfilename=os.path.join(FindPath,fn)
  22.                 FileList.append(fullfilename)
  23.     
  24.     if len(FileList)> 0:
  25.         FileList.sort()
  26.         
  27.     return FileList
  28. train_txt=open( 'train.txt', 'w')
  29. #制作标签数据,多标签数据,编号从0开始
  30. imgfile=GetFileList( '/home/aa/qxq/project/fruits/ncnn-master/data/train/cabbage') #.py文件目录下
  31. for img in imgfile:
  32.     str1=img+ ' '+ '0'+ '\n'        #用空格代替转义字符 \t
  33.     train_txt.writelines(str1)
  34.     
  35. imgfile=GetFileList( '/home/aa/qxq/project/fruits/ncnn-master/data/train/carrot')
  36. for img in imgfile:
  37.     str2=img+ ' '+ '1'+ '\n'
  38.     train_txt.writelines(str2)
  39. imgfile=GetFileList( '/home/aa/qxq/project/fruits/ncnn-master/data/train/cauliflower')
  40. for img in imgfile:
  41.     str3=img+ ' '+ '2'+ '\n'
  42.     train_txt.writelines(str3)
  43. imgfile=GetFileList( '/home/aa/qxq/project/fruits/ncnn-master/data/train/cucumber')
  44. for img in imgfile:
  45.     str4=img+ ' '+ '3'+ '\n'
  46.     train_txt.writelines(str4)
  47. imgfile=GetFileList( '/home/aa/qxq/project/fruits/ncnn-master/data/train/eggplant')
  48. for img in imgfile:
  49.     str5=img+ ' '+ '4'+ '\n'
  50.     train_txt.writelines(str5)
  51. imgfile=GetFileList( '/home/aa/qxq/project/fruits/ncnn-master/data/train/green_pepper')
  52. for img in imgfile:
  53.     str6=img+ ' '+ '5'+ '\n'
  54.     train_txt.writelines(str6)
  55. imgfile=GetFileList( '/home/aa/qxq/project/fruits/ncnn-master/data/train/potato')
  56. for img in imgfile:
  57.     str7=img+ ' '+ '6'+ '\n'
  58.     train_txt.writelines(str7)
  59. imgfile=GetFileList( '/home/aa/qxq/project/fruits/ncnn-master/data/train/pumpkin')
  60. for img in imgfile:
  61.     str8=img+ ' '+ '7'+ '\n'
  62.     train_txt.writelines(str8)
  63. imgfile=GetFileList( '/home/aa/qxq/project/fruits/ncnn-master/data/train/tomato')
  64. for img in imgfile:
  65.     str9=img+ ' '+ '8'+ '\n'
  66.     train_txt.writelines(str9)
  67. #转换完成后,将.txt文档关闭
  68. train_txt.close()
  69. #测试集文件列表
  70. #test_txt=open('val.txt','w')
  71. #制作标签数据,如果是男的,标签设置为0,如果是女的标签为1
  72. #imgfile=GetFileList('val/test_cat')#将数据集放在与.py文件相同目录下
  73. #for img in imgfile:
  74. #    str3=img+' '+'1'+'\n'
  75. #    test_txt.writelines(str3)
  76.     
  77. #imgfile=GetFileList('val/test_dog')
  78. #for img in imgfile:
  79. #    str4=img+' '+'0'+'\n'
  80. #    test_txt.writelines(str4)
  81. #test_txt.close()
  82. print( "成功生成文件列表")

然后就能生成了自己想要的.txt 文件,生成的结果如下:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值