-
Notifications
You must be signed in to change notification settings - Fork 0
/
Test.py
144 lines (114 loc) · 4.78 KB
/
Test.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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
from utils.datasets import Dataset
from utils.config import get_dicts_test
from utils.tester import Tester
from tensorflow.keras import backend as K
import os
import matplotlib.pyplot as plt
dictLP = ["0","1","2","3","4","5","6","7","8","9"
,"A","B","C","D","E","F","G","H","I","J","K","L","M",
"N","O","P","Q","R","S","T","U","V","W","X","Y","Z"
,""]
def lp_to_str(lp_pred,dictLP,n_classes = 37):
str = ""
for i in range(7):
str += dictLP[lp_pred[i * n_classes:(i + 1) * n_classes].argmax()]
return str
data = get_dicts_test()
#create a dataset using the parsed arguments related to data
dataset = Dataset(data=data)
# preload the hdf5 files for faster access
dataset.load_files()
# load the data
test_dropout = False
test_be = True
n_ensemble = 5
n_dropout = 5
X_lr_test, _, l_test = dataset.load_data(mode='test', num=10)
l_test[l_test > 1] = 0
l_test[l_test < 0] = 0
t = lp_to_str(lp_pred=l_test[0],dictLP=dictLP)
job_dir = os.path.abspath("..//checkpoints")
# Test specific folder
#dirs = ["bE_cl"]
#dir = f"{data['dataset']}"
# Test all folders in the subfolder
dir = f"{data['dataset']}//testMixed"
dirs = os.listdir(os.path.join(job_dir,dir))
print(dirs)
#if test_dropout:
result_ensemble = []
result_ensemble_sr2 = []
resultFile = open(f"example_{data['noiseType']}_{data['noise_low']}_{data['blurType']}_{data['blur_strength']}_{data['blur_kernel']}.txt","w")
for i in range(len(dirs)):
dir_curr = os.path.join(job_dir, dir, dirs[i])
#print(dir_curr)
tmp = os.path.split(dir_curr)
tmp = tmp[1]
tester = Tester(folder=dir_curr, epoch=-1, data=data)
tester.load_pretrained()
tester.create_dataframe()
plt.imsave(f"example_{data['noiseType']}_{data['noise_low']}_{data['blurType']}_{data['blur_strength']}_{data['blur_kernel']}.png", X_lr_test[0, :, :, 0], cmap='gray')
if "dropout" in dir_curr:
res = tester.test_dropout(X_lr_test=X_lr_test, X_hr_test=None, l_test=l_test,
name=f"deviation_{data['noiseType']}_{data['noise_low']}_{n_dropout}", num=n_dropout,dataframe=False)
print(tmp + res)
resultFile.write(f"{tmp + res} \n")
del tester
K.clear_session()
tester = Tester(folder=dir_curr, epoch=-1, data=data)
tester.load_pretrained()
tester.create_dataframe()
res = tester.test_dropout(X_lr_test=X_lr_test, X_hr_test=None, l_test=l_test,
name=f"deviation_{data['noiseType']}_{data['noise_low']}_{30}", num=30,dataframe=False)
resultFile.write(f"{tmp + res} \n")
elif "bE" in dir_curr:#
a = tester.test_be(X_lr_test=X_lr_test, X_hr_test=X_lr_test, l_test=l_test,
name=f"deviation_{data['noiseType']}_{data['noise_low']}_{n_ensemble}", dataframe=False)#
print(a)
resultFile.write(f"{a} \n")
elif "ensemble" in dir_curr:
if "cl" in dir_curr:
result_ensemble.append(tester.test_ensemble(X_lr_test=X_lr_test))
else:
result_ensemble_sr2.append(tester.test_ensemble(X_lr_test=X_lr_test))
del tester
K.clear_session()
dir_curr = os.path.join(job_dir, dir, "ensemble_cl_1")
tester = Tester(folder=dir_curr, epoch=-1, data=data)
tester.load_pretrained()
tester.create_dataframe()
c= tester.evaluate_ensemble(l_pred=result_ensemble,l_test=l_test,num=5,dataframe=False)
print(c)
resultFile.write(f"{c} \n")
del tester
K.clear_session()
resultFile.close()
# dir_curr = os.path.join(job_dir, dir, "ensemble_cl_1")
# tester = Tester(folder=dir_curr, epoch=-1, data=data)
# tester.load_pretrained()
# tester.create_dataframe()
# tester.evaluate_ensemble(l_pred=result_ensemble_sr2,l_test=l_test,num=5,dataframe=False)
# elif test_be:
# for i in range(len(dirs)):
# dir_curr = os.path.join(job_dir,dir,dirs[i])
# tester = Tester(folder=dir_curr,epoch=-1,data=data)
# tester.load_pretrained()
# tester.test_be(X_lr_test=X_lr_test,X_hr_test=X_hr_test,l_test=l_test,
# name=f"deviation_{data['noiseType']}_{data['noise_low']}")
#
# del tester
# K.clear_session()
#
#
# else:
#
# for i in range(len(dirs)):
# print(dirs[i])
# dir_curr = os.path.join(job_dir,dir,dirs[i])
# tester = Tester(folder=dir_curr,epoch=-1,data=data)
# tester.load_pretrained()
# tester.test(X_lr_test=X_lr_test,X_hr_test=X_hr_test,l_test=l_test)
# tester.show_results(X_lr_test=X_lr_test,X_hr_test=X_hr_test,l_test=l_test,
# name=f"prediction_{data['noiseType']}_{data['noise_low']}")
# del tester
# K.clear_session()