-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtrain_valid_maker.py
58 lines (43 loc) · 1.22 KB
/
train_valid_maker.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
from itertools import count
import os
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
# file path
# 낙엽송
larch = "./dataset/larch/"
# 잣나무
pine = "./dataset/pine/"
# slow is 0, fast is 1
def make_dataframe(path, species):
fname_list = [file for file in os.listdir(path) if file.endswith(".ply")]
X_train, X_val= train_test_split(fname_list, test_size=0.2, random_state=42)
X_val, X_test= train_test_split(X_val, test_size=0.5, random_state=42)
X_train = [species+"/"+i+"\n" for i in X_train]
X_val = [species+"/"+i+"\n" for i in X_val]
X_test = [species+"/"+i+"\n" for i in X_test]
return X_train, X_val, X_test
larch_train, larch_val, larch_test = make_dataframe(larch, "larch")
pine_train, pine_val, pine_test = make_dataframe(pine, "pine")
# train file
f = open("./dataset/train.txt", 'w')
for i in larch_train:
f.write(i)
for i in pine_train:
f.write(i)
f.close()
# valid file
f = open("./dataset/valid.txt", 'w')
for i in larch_val:
f.write(i)
for i in pine_val:
f.write(i)
f.close()
# test file
f = open("./dataset/test.txt", 'w')
for i in larch_test:
f.write(i)
for i in pine_test:
f.write(i)
f.close()
print("Done")