Files
ieemoo-ai-predict/createData.py
2022-04-08 19:46:46 +08:00

35 lines
1.1 KiB
Python

import os
import shutil
import random
def splitData(path):
imgtrain = os.sep.join([path, 'images', 'train'])
imgval = os.sep.join([path, 'images', 'val'])
labelstrain = os.sep.join([path, 'labels', 'train'])
labelsval = os.sep.join([path, 'labels', 'val'])
Totaldata = []
for dirname in os.listdir(path):
if dirname == 'labels':
for fileName in os.listdir(os.sep.join([path, dirname])):
Totaldata.append(fileName.split('.')[0])
#print(Totaldata)
random.shuffle(Totaldata)
val = Totaldata[:int(len(Totaldata)/10)]
train = Totaldata[int(len(Totaldata)/10):]
try:
os.mkdir(imgtrain)
os.mkdir(imgval)
os.mkdir(labelstrain)
os.mkdir(labelsval)
except:pass
for name in train:
shutil.move(os.sep.join([path, 'images', name+'.jpg']), imgtrain)
shutil.move(os.sep.join([path, 'labels', name+'.txt']), labelstrain)
for name in val:
shutil.move(os.sep.join([path, 'images', name+'.jpg']), imgval)
shutil.move(os.sep.join([path, 'labels', name+'.txt']), labelsval)
if __name__ == '__main__':
path = '/home/data/New_project/testdata'
splitData(path)