将数据集按比例随机分成训练集和验证集
训练数据集时往往需要把数据集进行随机分配,该代码可以很好的实现对数据集按比例分配,代码如下:
import os, random, shutil
def moveFile(fileDir):
pathDir = os.listdir(fileDir) #取图片的原始路径
filenumber=len(pathDir)
rate=0.1 #自定义抽取图片的比例,比方说100张抽10张,那就是0.1
picknumber=int(filenumber*rate) #按照rate比例从文件夹中取一定数量图片
sample = random.sample(pathDir, picknumber) #随机选取picknumber数量的样本图片
print (sample)
for name in sample:
shutil.move(fileDir+name, tarDir+name)
return
if __name__ == '__main__':
fileDir = "/home/nuaa301/yangshuang/MathModel/datasets3/train/300/" #源图片文件夹路径
tarDir = '/home/nuaa301/yangshuang/MathModel/datasets3/test/300/' #移动到新的文件夹路径
moveFile(fileDir)
代码实现从原文件夹内抽出0.1比例的数据作为验证集,其余剩下的为训练集。