python实现将两个文件夹合并至另一个文件夹(制作数据集)

  

此操作目的是为了制作自己的数据集,深度学习框架进行数据准备,此操作步骤包括对文件夹进行操作,将两个文件夹合并至另一个文件夹

  

该实例为一个煤矿工人脸识别的案例;首先原始数据集(简化版的数据集旨在说明数据准备过程)如下图所示:

  

该数据集只有三个人的数据,A01代表工人甲的煤矿下的照片,B01代表工人甲下矿前的照片,同理A02, B02代表工人乙的矿下,矿上的照片数据…

  

<>强如下图所示

  

 python实现将两个文件夹合并至另一个文件夹(制作数据集)

  

<>强矿下

  

 python实现将两个文件夹合并至另一个文件夹(制作数据集)

  

<>强矿上

  

 python实现将两个文件夹合并至另一个文件夹(制作数据集)

  

<强>开始制作数据集:

  

首先建立训练集(0.7)和测试集(0.3),即建立一个空白文件夹

  

 python实现将两个文件夹合并至另一个文件夹(制作数据集)

  

将该文件夹分为四个小文件夹(空),火车代表训练集,val代表测试集,valb代表矿井下的测试集,西班牙代表矿井上的测试集,注:后边两个测试集可有可无

  

<强>最终制作的数据集如下所示:

  

 python实现将两个文件夹合并至另一个文件夹(制作数据集)

  

 python实现将两个文件夹合并至另一个文件夹(制作数据集)

  

<强>下面为所有的程序详解

        #导入一些进行该操作需要的库   进口numpy np   进口操作系统   进口随机   进口shutil      路径=r 'C: \ \用户administrator.sky - 20180518 vhy \桌面\ rx \矿石' #原始数据集的路径   data=https://www.yisu.com/zixun/os.listdir(路径)   # listdir该操作([添加链接描述)(https://www.jb51.net/article/184106.htm))在我的上篇文章中有所介绍,此操作能读取的内容为A01、A02, A03, B01, B02, B03这些文件夹   #打印(数据)      根路径=#复制原始数据路径路   之前      

读取文件夹A01、A02, A03,存入c列表中B01, B02, B03,将其存入d列表中

        c=[]   d=[] #创建两个空列表   因为我在范围(len(数据)):=数据[我][0]   如果(==癮”):   [我]c.append(数据)   其他:   [我]d.append(数据)   #打印(d)      

 python实现将两个文件夹合并至另一个文件夹(制作数据集)

  

<>强导入路径四个空文件夹的路径

        train_root=' C: \ \ \ \用户administrator.sky - 20180518 vhy自己桌面\ \ \ \ \ \培训”   val_root=' C: \ \ \ \用户administrator.sky - 20180518 vhy自己桌面\ \ \ \ \ \ val”   vall_root=' C: \ \ \ \用户administrator.sky - 20180518 vhy自己桌面\ \ \ \ \ \ valb”   valb_root=' C: \ \ \ \用户administrator.sky - 20180518 vhy自己桌面\ \ \ \ \ \西班牙”         因为我在范围(len (c)):   回调=os.path.exists (train_root +‘/? c[我][1:])   如果(不调):   os.mkdir (train_root +‘/? c[我][1:])   qq=os.path.exists (val_root +‘/? c[我][1:])   如果(不是qq):   os.mkdir (val_root +‘/? c[我][1:])   qq=os.path.exists (vall_root +‘/? c[我][1:])   如果(不是qq):   os.mkdir (vall_root +‘/? c[我][1:])   qq=os.path.exists (valb_root +‘/? c[我][1:])   如果(不是qq):   os.mkdir (valb_root +‘/? c[我][1:])   # f=[]   # g=[]   aq=' C: \ \ \ \ administrator.sky用户桌面\ \ rx - 20180518 vhy \ \ \ \ \ \矿”   train_root1=' C: \ \ \ \用户administrator.sky - 20180518 vhy自己桌面\ \ \ \ \ \培训\ \ '   val_root1=' C: \ \ \ \用户administrator.sky - 20180518 vhy自己桌面\ \ \ \ \ \ val \ \ '   vall_root1=' C: \ \ \ \用户administrator.sky - 20180518 vhy自己桌面\ \ \ \ \ \ valb \ \ '   valb_root1=' C: \ \ \ \用户administrator.sky - 20180518 vhy \ \自己桌面\ \ \ \ vall \ \ '   因为我在范围(len (c)):   一个=c[我]   data_0=os.listdir (aq +一个)   # f.append (data_0)   # g.append (aq +一个)   #打印(f)   #打印(g)   random.shuffle (data_0) #打一个中乱数据   j的范围(len (d)):   b=d [j]   如果(1:==b [1:]):   data_1=os.listdir (aq + b)   #打印(aq + b);   random.shuffle (data_1)   #打印(data_1)   #打印(data_0 data_1)   z的范围(len (data_0)):   #打印(z)   pic_path=aq + +‘/? data_0 [z]      如果z

python实现将两个文件夹合并至另一个文件夹(制作数据集)