如何从代码中 运行 tensorflow 对象检测 api (model_main_tf2)?

How to run tensorflow object detection api (model_main_tf2) from code?

我想 运行 使用 tensorflow 对象检测进行训练 api。在命令行中我可以使用

python model_main_tf2.py --pipeline_config_path=path/to/pipeline.config --model_dir=path/to/trainedModel

但是我如何从代码开始呢?

model_main_tf2.FLAGS.pipeline_config_path = pipeline_config_path
model_main_tf2.FLAGS.model_dir = model_path
tf.compat.v1.app.run(model_main_tf2.main)

这是有效的,但是 tf.compat.v1.app.run() 使用 sys.exit(main) 调用主函数。但是我不想,系统退出。

我该如何解决这个问题?

或者,我怎样才能避免使用 model_main_tf2 和 app.run()?

因为 sys.exit(...) 基本上加注 SystemExit 你可能会抓住 SystemExit:

try:
  tf.compat.v1.app.run(model_main_tf2.main)
except SystemExit:
  pass

# cool stuff happening here!