8
8
import os
9
9
import p3b1
10
10
import runner_utils
11
+ import socket
12
+
13
+ node_pid = "%s,%i" % (socket .gethostname (), os .getpid ())
14
+ print ("node,pid: " + node_pid )
15
+
16
+ logger = None
17
+
18
+ def get_logger ():
19
+ """ Set up logging """
20
+ global logger
21
+ if logger is not None :
22
+ return logger
23
+ import logging , sys
24
+ logger = logging .getLogger (__name__ )
25
+ logger .setLevel (logging .DEBUG )
26
+ h = logging .StreamHandler (stream = sys .stdout )
27
+ fmtr = logging .Formatter ('%(asctime)s %(name)s %(levelname)-9s %(message)s' ,
28
+ datefmt = '%Y/%m/%d %H:%M:%S' )
29
+ h .setFormatter (fmtr )
30
+ logger .addHandler (h )
31
+ return logger
11
32
12
33
def run (hyper_parameter_map ):
34
+
35
+ logger = get_logger ()
13
36
framework = hyper_parameter_map ['framework' ]
37
+ logger .debug ("IMPORT START" )
14
38
if framework == 'keras' :
15
39
import p3b1_baseline_keras2
16
40
pkg = p3b1_baseline_keras2
17
41
else :
18
42
raise ValueError ("Unsupported framework: {}" .format (framework ))
43
+ logger .debug ("IMPORT STOP" )
19
44
20
45
# params is python dictionary
21
46
params = pkg .initialize_parameters ()
@@ -26,8 +51,12 @@ def run(hyper_parameter_map):
26
51
# raise Exception("Parameter '{}' not found in set of valid arguments".format(k))
27
52
params [k ] = v
28
53
54
+ logger .debug ("WRITE_PARAMS START" )
29
55
runner_utils .write_params (params , hyper_parameter_map )
56
+ logger .debug ("WRITE_PARAMS STOP" )
57
+ logger .debug ("DO_N_FOLD START" )
30
58
avg_loss = pkg .do_n_fold (params )
59
+ logger .debug ("DO_N_FOLD STOP" )
31
60
32
61
if framework == 'keras' :
33
62
# works around this error:
@@ -41,16 +70,28 @@ def run(hyper_parameter_map):
41
70
return avg_loss
42
71
43
72
if __name__ == '__main__' :
73
+ logger = get_logger ()
74
+ logger .debug ("RUN START" )
75
+
44
76
param_string = sys .argv [1 ]
45
77
instance_directory = sys .argv [2 ]
46
78
framework = sys .argv [3 ]
47
79
exp_id = sys .argv [4 ]
48
80
run_id = sys .argv [5 ]
81
+ benchmark_timeout = int (sys .argv [6 ])
82
+
83
+ logger .debug ("RUN INIT START" )
84
+
49
85
hyper_parameter_map = runner_utils .init (param_string , instance_directory ,
50
86
framework , 'save_path' )
87
+ logger .debug ("RUN INIT STOP" )
51
88
hyper_parameter_map ['experiment_id' ] = exp_id
52
89
hyper_parameter_map ['run_id' ] = run_id
90
+ hyper_parameter_map ['timeout' ] = benchmark_timeout
53
91
# clear sys.argv so that argparse doesn't object
54
92
sys .argv = ['p3b1_runner' ]
55
93
result = run (hyper_parameter_map )
94
+ logger .debug ("WRITE OUTPUT START" )
56
95
runner_utils .write_output (result , instance_directory )
96
+ logger .debug ("WRITE OUTPUT STOP" )
97
+ logger .debug ("RUN STOP" )
0 commit comments