0
点赞
收藏
分享

微信扫一扫

python一个文件夹下,按比例随机选取图片训练集和测试集

萨摩斯加士奇 2022-04-16 阅读 111

        文字识别时候,大量图片.jpg还有配套的文本文档.txt人工进行筛选太麻烦,还有可能存在图片丢失文档的情况,这些问题可以用python代码简单搞定,还可以按照喜欢的比例分配训练集和测试集:yiyishang

#!/usr/bin/env python 
# -*- coding:utf-8 -*-
#coco
import os
import random
import shutil

def movefile(filedir,tardir):
    pathdir=os.listdir(filedir)#取數據集的原始路徑
    filenumber=len(pathdir)
    rate=0.7#自定義抽取數據集的比例,比方説 1000張抽100張,那就是0.1
    picknumber=int(filenumber*rate)#按照rate比例從數據集中取一定數量文件
    #print('picknumber:',picknumber)
    samples=random.sample(pathdir,picknumber)#隨機選取picknumber數量的文件
    #print('samples:',samples)

    count=0#計數變量
    for sample in samples:#當前目錄下選取的數據
        print('sample:',sample)
        if sample.endswith(".jpg"):#查看選取的是否是jpg圖片
            shutil.move(filedir+sample,tardir+sample)
            shutil.move(filedir+os.path.splitext(sample)[0]+'.txt',tardir+os.path.splitext(sample)[0]+'.txt')
            count+=1
            #if(count/0.1>filenumber):#移動的圖片已經超過縂數據集的10%,跳出
                #break
    print('count:',count)
    return

if __name__ == "__main__":

    filedir ='F:/train_sum/'#源數據集文件夾路徑
    tardir = 'F:/selecttrain/'#移動到新的文件夾路徑
    movefile(filedir,tardir)

以上就是简单的数据集随机按照比例筛选的问题,简单易操作。

举报

相关推荐

0 条评论