-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathscript_payout.py
63 lines (51 loc) · 1.71 KB
/
script_payout.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
import cpuinfo
info = cpuinfo.get_cpu_info()
print(('Vendor ID: {0}'.format(info['vendor_id'])))
print(('Brand: {0}'.format(info['brand'])))
print(('Hz Advertised: {0}'.format(info['hz_advertised'])))
print(('Hz Actual: {0}'.format(info['hz_actual'])))
print(('Count: {0}'.format(info['count'])))
print()
print()
import numpy as np
from sys import getsizeof
from tree_parser import *
import pickle
import random
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
from data_utils5 import *
import multitrainer as trainer
with open('lm', 'rb') as handle:
database = pickle.load(handle)
database.remember_proof_steps = False
language_model = LanguageModel(database)
print()
print()
# this is the main routine for actual training
import payout_model_5_train as model
config = model.Config(language_model)
config.p.lr = 1.0e-5
config.p.r = 128
config.regularization = 1.0e-4
config.p.lr_reduction = 10
config.p.gru_depth = 2
#config.p.dropout = None
#config.p.augmentation= False
config.p.structure_data = True
#config.p.attention=True
#config.p.full_state_attention=False
config.p.bidirectional = True
config.p.out_layers = 1
config.p.max_epochs = None
train_object = trainer.Trainer(config, load=False,
draw_plots=False, save_location='./weights/payout', model=model)
train_object.v.optimizer.gradient_clipping = 100.0 # clip the norm to this amount
print()
print()
if __name__ == "__main__":
train_object.run_many_epochs(language_model, plot_every=10000,
write_every=10, early_stop=None, save_every=120,
validate_every = 400000,
batch_size=100, multiprocessing=None,
reorder=False)