88import os
99import p3b1
1010import 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
1132
1233def run (hyper_parameter_map ):
34+
35+ logger = get_logger ()
1336 framework = hyper_parameter_map ['framework' ]
37+ logger .debug ("IMPORT START" )
1438 if framework == 'keras' :
1539 import p3b1_baseline_keras2
1640 pkg = p3b1_baseline_keras2
1741 else :
1842 raise ValueError ("Unsupported framework: {}" .format (framework ))
43+ logger .debug ("IMPORT STOP" )
1944
2045 # params is python dictionary
2146 params = pkg .initialize_parameters ()
@@ -26,8 +51,12 @@ def run(hyper_parameter_map):
2651 # raise Exception("Parameter '{}' not found in set of valid arguments".format(k))
2752 params [k ] = v
2853
54+ logger .debug ("WRITE_PARAMS START" )
2955 runner_utils .write_params (params , hyper_parameter_map )
56+ logger .debug ("WRITE_PARAMS STOP" )
57+ logger .debug ("DO_N_FOLD START" )
3058 avg_loss = pkg .do_n_fold (params )
59+ logger .debug ("DO_N_FOLD STOP" )
3160
3261 if framework == 'keras' :
3362 # works around this error:
@@ -41,16 +70,28 @@ def run(hyper_parameter_map):
4170 return avg_loss
4271
4372if __name__ == '__main__' :
73+ logger = get_logger ()
74+ logger .debug ("RUN START" )
75+
4476 param_string = sys .argv [1 ]
4577 instance_directory = sys .argv [2 ]
4678 framework = sys .argv [3 ]
4779 exp_id = sys .argv [4 ]
4880 run_id = sys .argv [5 ]
81+ benchmark_timeout = int (sys .argv [6 ])
82+
83+ logger .debug ("RUN INIT START" )
84+
4985 hyper_parameter_map = runner_utils .init (param_string , instance_directory ,
5086 framework , 'save_path' )
87+ logger .debug ("RUN INIT STOP" )
5188 hyper_parameter_map ['experiment_id' ] = exp_id
5289 hyper_parameter_map ['run_id' ] = run_id
90+ hyper_parameter_map ['timeout' ] = benchmark_timeout
5391 # clear sys.argv so that argparse doesn't object
5492 sys .argv = ['p3b1_runner' ]
5593 result = run (hyper_parameter_map )
94+ logger .debug ("WRITE OUTPUT START" )
5695 runner_utils .write_output (result , instance_directory )
96+ logger .debug ("WRITE OUTPUT STOP" )
97+ logger .debug ("RUN STOP" )
0 commit comments