【Python】在训练图片中随机选取部分图片作为测试图片

import os, random, shutil

#将 dir 目录下 train 中的各个文件夹中的文件随机移动到 dir 创建的 val 同名目录

dir = r'D:\caffe-gpu\caffe-windows\examples\char_wt\char-trainset-0724'
rate = 0.1  #选取的比例

if __name__ == '__main__':

      trainpath = dir + "\\train"
      for file in os.listdir(trainpath):  
         #print( file)
         filepath = os.path.join(trainpath,file)  #每个子文件夹
         #print("filepath = %s " %  filepath)

         files = os.listdir(filepath)         #每个子文件夹的所有文件列表
         filelength = len(files) 
         print("filelength = %d " % filelength)
         
         picklength = int(filelength * rate)
         #print("picklength = %d " % picklength)
         sample = random.sample(files, picklength) #从每个子文件夹中随机选取
         print("len-sample = %d " % len(sample))
         
         list = filepath.split("\\")
         valpath =  dir + "\\val\\" + str(list[len(list)-1])
         #print("valpath = %s"%valpath)
         isExists = os.path.exists(valpath)
         if not isExists:
            os.makedirs(valpath)           

         for name in sample: 
             #print("name = %s"%name)
             shutil.move(os.path.join(filepath, name), os.path.join(valpath, name))
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值