#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os
import random
import shutil
def movefile(filedir, label_dir, img_tardir, label_tardir):
pathdir=os.listdir(filedir) # 取數據集的原始路徑
# 方法一:按照一定比例进行抽取
# filenumber=len(pathdir)
# rate=0.7 #自定義抽取數據集的比例
# picknumber=int(filenumber*rate) # 按照rate比例從數據集中取一定數量文件
# 方法二:直接规定抽取数量
picknumber = 4200
samples=random.sample(pathdir, picknumber) # 隨機選取picknumber數量的文件
count = 0 #計數變量
for sample in samples: # 當前目錄下選取的數據
# print('sample:',sample)
name = os.path.splitext(sample)[0]
label_name = name + ".txt"
shutil.copy(filedir + sample, img_tardir + sample)
shutil.copy(label_dir + label_name, label_tardir + label_name)
count+=1
#if(count/0.1>filenumber):#移動的圖片已經超過縂數據集的10%,跳出
#break
print('count: ',count)
return
if __name__ == "__main__":
img_dir ="/datasets/train/images/" # 源數據集文件夾路徑
label_dir ="/datasets/train/label_yolo/" # 源數據集文件夾路徑, P2805_
img_tardir = "/datasets/images_sample/" # 移動到新的文件夾路徑
label_tardir = "/datasets/train/label_yolo_sample/"
movefile(img_dir, label_dir, img_tardir, label_tardir)
随机采样部分数据进行训练
最新推荐文章于 2024-10-03 09:00:56 发布