-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathbuild_train_dataset.py
65 lines (46 loc) · 1.71 KB
/
build_train_dataset.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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import os
import numpy as np
import random
import shutil
def create_dataset(dataset_folder,data_folder,image_list):
for image in image_list:
image_src_path=data_folder+image+'.jpg'
image_dst_path=dataset_folder+os.sep+image+'.jpg'
shutil.copy2(image_src_path,image_dst_path)
bbox_src_path = data_folder + image + '.txt'
bbox_dst_path = dataset_folder +os.sep+image+'.txt'
shutil.copy2(bbox_src_path, bbox_dst_path)
mask_src_path = data_folder + image + '.npz'
mask_dst_path = dataset_folder + os.sep + image + '.npz'
shutil.copy2(mask_src_path, mask_dst_path)
data_folder='D:/DLCode/wgisd/data/'
train_masked_path ='D:/DLCode/wgisd/train_masked.txt'
ROOT_DIR = os.path.abspath(".")
print(ROOT_DIR)
# load the names of the images
with open(train_masked_path, 'r') as fp:
data_list = fp.readlines()
data_list = set([i[:-1] for i in data_list])
# split
data_list=sorted(data_list)
random.shuffle(data_list)
i = int(len(data_list) * 0.8)
data_list_train = data_list[:i]
data_list_val = data_list[i:]
#create dataset folder
dataset_folder= os.path.sep.join([ROOT_DIR,"dataset"])
if not os.path.exists(dataset_folder):
os.makedirs(dataset_folder)
#build train dataset
dataset_folder_train= os.path.sep.join([dataset_folder,"train"])
if not os.path.exists(dataset_folder_train):
os.makedirs(dataset_folder_train)
create_dataset(dataset_folder_train,data_folder,data_list_train)
# build Validation dataset
dataset_folder_val= os.path.sep.join([dataset_folder,"val"])
if not os.path.exists(dataset_folder_val):
os.makedirs(dataset_folder_val)
create_dataset(dataset_folder_val,data_folder,data_list_val)
#for i in data_list:
# print(i)
print("\ntrain:{},val:{}".format(len(data_list_train),len(data_list_val)))