当训练集和测试集在一个文件夹中,此代码可以用来切分数据集。
文件路径为
此路径为划分完后的结果,此代码将train中数据的40%划分到test文件中作测试集
importos,random,shutil#将dir目录下train中的各个文件夹中的文件随机移动到dir创建的val同名目录dir=rE:\files\项目\bird_macnn\birdrate=0.4#选取的比例if__name__==__main__:trainpath=dir+"\\train"forfileinos.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+"\\test\\"+str(list[len(list)-1])#print("valpath=%s"%valpath)isExists=os.path.exists(valpath)ifnotisExists:os.makedirs(valpath)fornameinsample:#print("name=%s"%name)shutil.move(os.path.join(filepath,name),os.path.join(valpath,name))预览时标签不可点收录于话题#个上一篇下一篇
本文编辑:佚名
转载请注明出地址 http://www.dengxincaoa.com/zbdxc/6021.html