-
Notifications
You must be signed in to change notification settings - Fork 0
/
split_folders.py
36 lines (28 loc) · 1.06 KB
/
split_folders.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import os
import numpy as np
import shutil
# # Creating Train / Test folders (One time use)
img_dir = 'Image_Folder'
clsList = os.listdir(img_dir + "/")
train_dir = 'Datasets/Train/'
test_dir = 'Datasets/Test/'
SPLIT_SIZE = 60 #training data size
for cls in clsList:
src_dir = img_dir + '/' + cls # Folder to copy images from
out_train_dir = train_dir + cls
out_test_dir = test_dir + cls
if not os.path.exists(out_train_dir):
os.makedirs(out_train_dir)
if not os.path.exists(out_test_dir):
os.makedirs(test_dir + cls)
allFileNames = os.listdir(src_dir)
print(allFileNames)
train_filenames, test_filenames = np.split(np.array(allFileNames), [SPLIT_SIZE])
train_filenames = [src_dir + '/' + name for name in train_filenames.tolist()]
test_filenames = [src_dir + '/' + name for name in test_filenames.tolist()]
# Copy-Pasting Images
for name in train_filenames:
shutil.copy(name, out_train_dir)
for name in test_filenames:
shutil.copy(name, out_test_dir)
print("Splitting of folder is done")