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

Posted

技术标签:

【中文标题】如何从代码运行 tensorflow 对象检测 api (model_main_tf2)?【英文标题】:How to run tensorflow object detection api (model_main_tf2) from code? 【发布时间】:2021-12-07 02:00:12 【问题描述】:

我想使用 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) 调用 main 函数。但是我不希望系统退出。

我该如何解决这个问题?

或者,我怎样才能绕过 model_main_tf2 和 app.run() 的使用?

【问题讨论】:

【参考方案1】:

由于sys.exit(...) 基本上会引发SystemExit,所以你可能会抓住SystemExit

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

# cool stuff happening here!

【讨论】:

以上是关于如何从代码运行 tensorflow 对象检测 api (model_main_tf2)?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 中运行 Tensorflow 对象检测 API 模型?

TensorFlow对象检测API教程中获取边界框坐标

如何仅在评估模式下运行 TF 对象检测 API model_main.py

TensorFlow 对象检测 API 中未检测到任何内容

如何修改 ssd mobilenet 配置以使用 tensorflow 对象检测 API 检测小对象?

Tensorflow的对象分离api不工作。