13
13
import sys
14
14
import tarfile
15
15
import time
16
- import traceback
17
16
import zipfile
18
17
19
18
import PIL .Image
@@ -186,7 +185,7 @@ def run_onnxruntime(self, name, model_proto, inputs):
186
185
"""Run test against msrt-next backend."""
187
186
import onnxruntime as rt
188
187
model_path = utils .save_onnx_model (TEMP_DIR , name , inputs , model_proto , include_test_data = True )
189
- print ( " \t \t " + model_path )
188
+ logger . info ( "Model saved to %s" , model_path )
190
189
m = rt .InferenceSession (model_path )
191
190
results = m .run (self .output_names , inputs )
192
191
if self .perf :
@@ -201,12 +200,13 @@ def create_onnx_file(name, model_proto, inputs, outdir):
201
200
os .makedirs (outdir , exist_ok = True )
202
201
model_path = os .path .join (outdir , name + ".onnx" )
203
202
utils .save_protobuf (model_path , model_proto )
204
- print ( " \t created " , model_path )
203
+ logger . info ( "Created %s " , model_path )
205
204
206
205
def run_test (self , name , backend = "caffe2" , onnx_file = None , opset = None , extra_opset = None ,
207
206
perf = None , fold_const = None ):
208
207
"""Run complete test against backend."""
209
- print (name )
208
+ logger .info ("===================================" )
209
+ logger .info ("Running %s" , name )
210
210
self .perf = perf
211
211
212
212
# get the model
@@ -216,7 +216,7 @@ def run_test(self, name, backend="caffe2", onnx_file=None, opset=None, extra_ops
216
216
else :
217
217
model_path = self .local
218
218
dir_name = os .path .dirname (self .local )
219
- print ( " \t downloaded " , model_path )
219
+ logger . info ( "Downloaded to %s " , model_path )
220
220
221
221
input_names = list (self .input_names .keys ())
222
222
outputs = self .output_names
@@ -261,29 +261,24 @@ def run_test(self, name, backend="caffe2", onnx_file=None, opset=None, extra_ops
261
261
262
262
# run the model with tensorflow
263
263
if self .skip_tensorflow :
264
- print ( " \t tensorflow" , " SKIPPED" )
264
+ logger . info ( "TensorFlow SKIPPED" )
265
265
else :
266
266
tf_results = self .run_tensorflow (sess , inputs )
267
- print ( " \t tensorflow" , " OK" )
267
+ logger . info ( "TensorFlow OK" )
268
268
model_proto = None
269
269
try :
270
270
# convert model to onnx
271
271
onnx_graph = self .to_onnx (sess .graph , opset = opset , extra_opset = extra_opset ,
272
272
shape_override = shape_override , input_names = inputs .keys ())
273
273
model_proto = onnx_graph .make_model ("converted from tf2onnx" )
274
- new_model_proto = optimizer .optimize_graph (onnx_graph ).make_model ("optimized" )
275
- if new_model_proto :
276
- model_proto = new_model_proto
277
- else :
278
- print ("\t NON-CRITICAL, optimizers are not applied successfully" )
279
- print ("\t to_onnx" , "OK" )
274
+ model_proto = optimizer .optimize_graph (onnx_graph ).make_model ("optimized" )
275
+ logger .info ("To_ONNX, OK" )
280
276
if utils .is_debug_mode ():
281
277
onnx_graph .dump_graph ()
282
278
if onnx_file :
283
279
self .create_onnx_file (name , model_proto , inputs , onnx_file )
284
- except Exception as ex :
285
- tb = traceback .format_exc ()
286
- print ("\t to_onnx" , "FAIL" , ex , tb )
280
+ except Exception :
281
+ logger .error ("To_ONNX FAIL" , exc_info = 1 )
287
282
288
283
try :
289
284
onnx_results = None
@@ -295,27 +290,25 @@ def run_test(self, name, backend="caffe2", onnx_file=None, opset=None, extra_ops
295
290
onnx_results = self .run_onnxruntime (name , model_proto , inputs )
296
291
else :
297
292
raise ValueError ("unknown backend" )
298
- print ( " \t run_onnx OK" )
293
+ logger . info ( "Run_ONNX OK" )
299
294
300
295
try :
301
296
if self .skip_tensorflow :
302
- print ( " \t Results : skipped tensorflow" )
297
+ logger . info ( "Results : skipped tensorflow" )
303
298
else :
304
299
if self .check_only_shape :
305
300
for tf_res , onnx_res in zip (tf_results , onnx_results ):
306
301
np .testing .assert_array_equal (tf_res .shape , onnx_res .shape )
307
302
else :
308
303
for tf_res , onnx_res in zip (tf_results , onnx_results ):
309
304
np .testing .assert_allclose (tf_res , onnx_res , rtol = self .rtol , atol = self .atol )
310
- print ( " \t Results : OK" )
305
+ logger . info ( "Results : OK" )
311
306
return True
312
- except Exception as ex :
313
- tb = traceback .format_exc ()
314
- print ("\t Results" , ex , tb )
307
+ except Exception :
308
+ logger .error ("Results" , exc_info = 1 )
315
309
316
- except Exception as ex :
317
- tb = traceback .format_exc ()
318
- print ("\t run_onnx" , "FAIL" , ex , tb )
310
+ except Exception :
311
+ logger .error ("Run_ONNX FAIL" , exc_info = 1 )
319
312
320
313
return False
321
314
@@ -379,7 +372,7 @@ def main():
379
372
Test .target = args .target
380
373
tests = tests_from_yaml (args .config )
381
374
if args .list :
382
- print (sorted (tests .keys ()))
375
+ logger . info (sorted (tests .keys ()))
383
376
return 0
384
377
if args .tests :
385
378
test_keys = args .tests .split ("," )
@@ -397,17 +390,17 @@ def main():
397
390
ret = t .run_test (test , backend = args .backend , onnx_file = args .onnx_file ,
398
391
opset = args .opset , extra_opset = args .extra_opset , perf = args .perf ,
399
392
fold_const = args .fold_const )
400
- except Exception as ex :
393
+ except Exception :
394
+ logger .error ("Failed to run %s" , test , exc_info = 1 )
401
395
ret = None
402
- tb = traceback .format_exc ()
403
- print (ex , tb )
404
396
finally :
405
397
if not utils .is_debug_mode ():
406
398
utils .delete_directory (TEMP_DIR )
407
399
if not ret :
408
400
failed += 1
409
401
410
- print ("=== RESULT: {} failed of {}, backend={}" .format (failed , count , args .backend ))
402
+ logger .info ("===================================" )
403
+ logger .info ("RESULT: %s failed of %s, backend=%s" , failed , count , args .backend )
411
404
412
405
if args .perf :
413
406
with open (args .perf , "w" ) as f :
0 commit comments