35 lines
1.1 KiB
Python
Executable File
35 lines
1.1 KiB
Python
Executable File
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)
|