Skip to content

Commit bec7b6f

Browse files
committed
Update _Tests
1 parent 1375f62 commit bec7b6f

File tree

8 files changed

+92
-23
lines changed

8 files changed

+92
-23
lines changed

_Dist/NeuralNetworks/_Tests/AdvancedNN/Test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def block_test_pruner(generator, **kwargs):
6060

6161

6262
base_params = {
63-
"model_param_settings": {"n_epoch": 40},
63+
"model_param_settings": {"n_epoch": 40, "metric": "acc"},
6464
"model_structure_settings": {"hidden_units": [500, 500]}
6565
}
6666
basic = Basic(**base_params).fit(x, y, x_test, y_test, snapshot_ratio=0)
@@ -93,7 +93,7 @@ def block_test_pruner(generator, **kwargs):
9393
draw_acc(basic, wnd_dndf, wnd_dndf_pruned)
9494

9595
advanced_params["data_info"]["numerical_idx"] = [True] * 500 + [False]
96-
advanced_params["model_structure_settings"]["pruner_params"] = {"prune_method": "surgery"}
96+
advanced_params["model_structure_settings"]["pruner_params"] = {"prune_method": "hard_prune"}
9797
basic, wnd_dndf, wnd_dndf_pruned = block_test(DataUtil.gen_noisy_linear, n_dim=500)
9898
draw_acc(basic, wnd_dndf, wnd_dndf_pruned, ylim=(0.8, 0.95), draw_train=False)
9999

_Dist/NeuralNetworks/_Tests/DistNN/Test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
},
1515
"model_param_settings": {
1616
"metric": "acc",
17-
"n_epoch": 5,
18-
"max_epoch": 10
17+
"n_epoch": 1,
18+
"max_epoch": 2
1919
}
2020
}
2121

_Dist/NeuralNetworks/_Tests/DistNN/TestOpenML.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,7 @@ def download_data():
5858
def main():
5959
base_params = {
6060
"data_info": {},
61-
"model_param_settings": {},
62-
# "model_param_settings": {"n_epoch": 1, "max_epoch": 1},
63-
# "model_structure_settings": {"use_wide_network": False, "use_pruner": False}
61+
"model_param_settings": {}
6462
}
6563
config = tf.ConfigProto()
6664
config.gpu_options.allow_growth = True
@@ -74,8 +72,6 @@ def main():
7472
local_params["data_info"]["numerical_idx"] = numerical_idx
7573
DistAdvanced(**local_params).empirical_search(cv_rate=0.1, test_rate=0.1).k_random(
7674
K_RANDOM, cv_rate=0.1, test_rate=0.1)
77-
# DistAdvanced(**local_params).k_random(K_RANDOM, cv_rate=0.1, test_rate=0.1)
78-
# DistAdvanced(**local_params).fit()
7975

8076

8177
if __name__ == '__main__':

_Dist/NeuralNetworks/_Tests/Madelon/TestAdvancedNN.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def block_evaluate():
3232

3333
ylim = (0.5, 1.05)
3434
base_params = {
35-
"model_param_settings": {"n_epoch": 200},
35+
"model_param_settings": {"n_epoch": 200, "metric": "acc"},
3636
"model_structure_settings": {"hidden_units": [152, 153]}
3737
}
3838
basic = Basic(**base_params).fit(x, y, x_test, y_test, snapshot_ratio=0)

_Dist/NeuralNetworks/_Tests/Madelon/TestAutoNN.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
base_params = {
1414
"name": "Madelon",
15-
"model_param_settings": {"n_epoch": 200},
15+
"model_param_settings": {"n_epoch": 200, "metric": "acc"},
1616
"model_structure_settings": {"hidden_units": [152, 153]}
1717
}
1818
basic = AutoBasic(**base_params).fit(x, y, x_test, y_test, snapshot_ratio=0)

_Dist/NeuralNetworks/_Tests/SVM/TestLinearSVM.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88

99
from Util.Util import DataUtil
1010
from _Dist.NeuralNetworks._Tests.TestUtil import draw_acc
11-
from _Dist.NeuralNetworks.f_AutoNN.NN import AutoAdvanced
11+
from _Dist.NeuralNetworks.f_AutoNN.DistNN import AutoAdvanced
1212
from _Dist.NeuralNetworks.b_TraditionalML.SVM import LinearSVM, AutoLinearSVM, DistLinearSVM
1313

14-
base_params = {"model_param_settings": {"n_epoch": 30}}
14+
base_params = {"model_param_settings": {"n_epoch": 30, "metric": "acc"}}
1515
(x, y), (x_test, y_test) = DataUtil.gen_noisy_linear(n_dim=2, n_valid=2, test_ratio=0.01, one_hot=False)
1616
svm = LinearSVM(**deepcopy(base_params)).fit(
1717
x, y, x_test, y_test, snapshot_ratio=0).visualize2d(x_test, y_test)
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
import os
2+
import sys
3+
root_path = os.path.abspath("./")
4+
if root_path not in sys.path:
5+
sys.path.append(root_path)
6+
7+
import copy
8+
import numpy as np
9+
import tensorflow as tf
10+
11+
from openml import datasets
12+
13+
from _Dist.NeuralNetworks.b_TraditionalML.SVM import DistLinearSVM
14+
15+
GPU_ID = None
16+
K_RANDOM = 9
17+
IDS = [
18+
38, 46, 179,
19+
184, 389, 554,
20+
772, 917, 1049,
21+
1111, 1120, 1128,
22+
293,
23+
]
24+
25+
26+
def swap(arr, i1, i2):
27+
arr[..., i1], arr[..., i2] = arr[..., i2], arr[..., i1].copy()
28+
29+
30+
def download_data():
31+
data_folder = "_Data"
32+
idx_folder = os.path.join(data_folder, "idx")
33+
if not os.path.isdir(data_folder):
34+
os.makedirs(data_folder)
35+
if not os.path.isdir(idx_folder):
36+
os.makedirs(idx_folder)
37+
for idx in IDS:
38+
print("Downloading {}".format(idx))
39+
data_file = os.path.join(data_folder, "{}.txt".format(idx))
40+
idx_file = os.path.join(idx_folder, "{}.npy".format(idx))
41+
if os.path.isfile(data_file) and os.path.isfile(idx_file):
42+
continue
43+
dataset = datasets.get_dataset(idx)
44+
data, categorical_idx, names = dataset.get_data(
45+
return_categorical_indicator=True,
46+
return_attribute_names=True
47+
)
48+
data = data.toarray() if not isinstance(data, np.ndarray) else data
49+
target_idx = names.index(dataset.default_target_attribute)
50+
numerical_idx = ~np.array(categorical_idx)
51+
swap(numerical_idx, target_idx, -1)
52+
swap(data, target_idx, -1)
53+
with open(data_file, "w") as file:
54+
file.write("\n".join([" ".join(map(lambda n: str(n), line)) for line in data]))
55+
np.save(idx_file, numerical_idx)
56+
57+
58+
def main():
59+
base_params = {
60+
"data_info": {},
61+
"model_param_settings": {},
62+
# "model_param_settings": {"n_epoch": 1, "max_epoch": 1},
63+
# "model_structure_settings": {"use_wide_network": False, "use_pruner": False}
64+
}
65+
config = tf.ConfigProto()
66+
config.gpu_options.allow_growth = True
67+
if GPU_ID is not None:
68+
os.environ["CUDA_VISIBLE_DEVICES"] = GPU_ID
69+
base_params["model_param_settings"]["sess_config"] = config
70+
for idx in IDS:
71+
numerical_idx = np.load("_Data/idx/{}.npy".format(idx))
72+
local_params = copy.deepcopy(base_params)
73+
local_params["name"] = str(idx)
74+
local_params["data_info"]["numerical_idx"] = numerical_idx
75+
DistLinearSVM(**copy.deepcopy(local_params)).k_random(K_RANDOM, cv_rate=0.1, test_rate=0.1)
76+
77+
78+
if __name__ == '__main__':
79+
download_data()
80+
main()

_Dist/NeuralNetworks/_Tests/SVM/TestSVM.py

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,13 @@
88

99
from Util.Util import DataUtil
1010
from _Dist.NeuralNetworks._Tests.TestUtil import draw_acc
11-
from _Dist.NeuralNetworks.f_AutoNN.NN import AutoAdvanced
12-
from _Dist.NeuralNetworks.b_TraditionalML.SVM import SVM, AutoSVM, DistSVM
11+
from _Dist.NeuralNetworks.b_TraditionalML.SVM import SVM
12+
from _Dist.NeuralNetworks.f_AutoNN.DistNN import AutoAdvanced
1313

14-
base_params = {"model_param_settings": {"n_epoch": 30}}
14+
base_params = {"model_param_settings": {"n_epoch": 30, "metric": "acc"}}
1515
(x, y), (x_test, y_test) = DataUtil.gen_noisy_linear(n_dim=2, n_valid=2, test_ratio=0.01, one_hot=False)
1616
svm = SVM(**deepcopy(base_params)).fit(
1717
x, y, x_test, y_test, snapshot_ratio=0).visualize2d(x_test, y_test)
1818
nn = AutoAdvanced("NoisyLinear", **deepcopy(base_params)).fit(
1919
x, y, x_test, y_test, snapshot_ratio=0).visualize2d(x_test, y_test)
2020
draw_acc(svm, nn)
21-
22-
base_params["data_info"] = {"data_folder": "../_Data"}
23-
svm = AutoSVM("mushroom", **deepcopy(base_params)).fit(snapshot_ratio=0)
24-
nn = AutoAdvanced("mushroom", **deepcopy(base_params)).fit(snapshot_ratio=0)
25-
draw_acc(svm, nn)
26-
27-
DistSVM("mushroom", **deepcopy(base_params)).k_random()

0 commit comments

Comments
 (0)