forked from samholt/DeepGenerativeSymbolicRegression
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.yaml
239 lines (229 loc) · 5.03 KB
/
config.yaml
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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
nesymres:
function_set: ["abs", "arccos", "add", "arcsin", "arctan", "cos", "cosh", "coth", "div", "exp", "log", "mul", "sin", "sinh", "sqrt", "tan", "tanh", "inv", "neg", "-3", "-2", "-1", "0", "1", "2", "3", "4", "5"]
dataset:
max_len: 20
#operators: "add:10,mul:10,sub:5,div:5,sqrt:4,pow2:4,pow3:2,pow4:1,pow5:1,ln:4,exp:4,sin:4,cos:4,tan:4,asin:2",
operators: "add:10,mul:10,sub:5,div:5,pow2:4,pow3:2,pow4:1,pow5:1,ln:4,exp:4,sin:4,cos:4" # Koza
#operators: "add:10,mul:10,sub:5,div:5,pow2:4,pow3:2,pow4:1,pow5:1,ln:10,exp:4,sin:4,cos:4", # Koza
max_ops: 5
rewrite_functions: ""
variables: ["x_1", "x_2", "x_3"]
eos_index: 1
pad_index: 0
equal_prob_independent_vars: True
remap_independent_vars_to_monotic: True
force_all_independent_present: True
max_independent_vars: 16
lower_nbs_ops: 3
create_eqs_with_constants: False
train_path: data/datasets/100000
val_path: data/raw_datasets/200
raw_test_path: data/raw_datasets/200
test_path: data/validation
model_path: /local/home/lbiggio/NeuralSymbolicRegressionThatScales/weights/10MCompleted.ckpt
wandb: False
num_of_workers: 24
batch_size: 150
epochs: 20
val_check_interval: 1.0
precision: 16
gpu: 1
dataset_train:
total_variables: #Do not fill
total_coefficients: #Do not fill
max_number_of_points: 20 #2000 before
type_of_sampling_points: constant #logarithm
predict_c: False
fun_support:
max: 1
min: -1
constants:
num_constants: 3
additive:
max: 2
min: -2
multiplicative:
max: 2
min: -2
dataset_val:
total_variables: #Do not fill
total_coefficients: #Do not fill
max_number_of_points: 20
type_of_sampling_points: constant
predict_c: True
fun_support:
max: 1
min: -1
constants:
num_constants: 3
additive:
max: 2
min: -2
multiplicative:
max: 5
min: 0.1
dataset_test:
total_variables: #Do not fill
total_coefficients: #Do not fill
max_number_of_points: 20
type_of_sampling_points: constant
predict_c: False
fun_support:
max: 1
min: -1
constants:
num_constants: 3
additive:
max: 2
min: -2
multiplicative:
max: 5
min: 0.1
architecture:
sinuisodal_embeddings: False
dec_pf_dim: 32
dec_layers: 1
dim_hidden: 32
lr: 0.0001
dropout: 0
num_features: 2
ln: True
N_p: 0
num_inds: 50
activation: "relu"
bit16: True
norm: True
linear: False
input_normalization: False
src_pad_idx: 0
trg_pad_idx: 0
length_eq: 20
n_l_enc: 5
mean: 0.5
std: 0.5
dim_input: 4
num_heads: 2
output_dim: 10
inference:
beam_size: 2
bfgs:
activated: True
n_restarts: 10
add_coefficients_if_not_existing: False
normalization_o: False
idx_remove: True
normalization_type: MSE
stop_time: 1e9
task:
task_type: regression
function_set:
- add
- sub
- mul
- div
- sin
- cos
- exp
- log
training:
n_samples: 2000000
batch_size: 500
epsilon: 0.02
n_cores_batch: 1
alpha: 0.5
controller:
learning_rate: 0.0025
entropy_weight: 0.03
entropy_gamma: 0.7
max_length: 30
pqt_k: 10
prior:
length:
min_: 4
max_: 30
'on': true
repeat:
tokens: const
min_: null
max_: 10
'on': true
inverse:
'on': true
trig:
'on': true
const:
'on': true
no_inputs:
'on': true
uniform_arity:
'on': false
soft_length:
loc: 10
scale: 5
'on': true
gp_meld:
run_gp_meld: true
generations: 25
p_crossover: 0.5
p_mutate: 0.5
tournament_size: 5
train_n: 50
mutate_tree_max: 3
exp:
noise: 0.0
dataset_size_multiplier: 1.0
n_samples: 2_000_000
test_sample_multiplier: 1
learning_rate: 0.001
function_set: #Do not fill
priority_queue_training: true
model_pre_training_path: ""
run_pool_programs_test: false
seed_start: 0
seed_runs: 100
n_cores_task: 10
baselines: ["DGSR-PRE-TRAINED", "DSO", "GP"]
benchmark: "fn_d_all"
benchmark_path: "./libs/sd3/dso/dso/task/regression/benchmarks.csv"
save_true_log_likelihood: false
model:
embedding: True
embedding_size: 16
num_units: 32
batch_size: 1000
n_objects: 1
has_encoder: true
rl_weight: 1.0
randomize_ce: false
enc_layers: 3
dec_layers: 2
dropout: 0
nhead: 1
gp_meld: true
dim_feedforward_multiplier: 4
activation: 'relu' # 'elu', or 'tanh' could be good ?!
encoder_arch:
sinuisodal_embeddings: False
dec_pf_dim: 32
dec_layers: 1
# dim_hidden: 32 Set automatically
# lr: 0.0001
dropout: 0
num_features: 1 # 2 seems good
ln: True
N_p: 0
num_inds: 64 #50
activation: "relu"
bit16: False # True seems good
norm: True
linear: True # False seems good
input_normalization: False
src_pad_idx: 0
trg_pad_idx: 0
# length_eq: 20
n_l_enc: 3 #5
mean: 0.5
std: 0.5
# dim_input: 4
# num_heads: 1 # Set automatically
output_dim: 10