【问题标题】:Tensorflow object detection API not displaying global stepsTensorflow 对象检测 API 不显示全局步骤
【发布时间】:2019-01-31 15:08:28
【问题描述】:

我是新来的。我最近开始使用对象检测并决定使用 Tensorflow 对象检测 API。但是,当我开始训练模型时,它并没有像应有的那样显示全局步骤,尽管它仍在后台进行训练。

详情: 我正在服务器上进行培训并在 Windows 上使用 OpenSSH 访问它。我通过收集图片并标记它们来训练自定义数据集。我使用 model_main.py 对其进行了训练。此外,直到几个月前,API 还有些不同,直到最近才更改为最新版本。例如,之前它使用 train.py 进行训练,而不是 model_main.py。我能找到的所有在线教程都使用 train.py,所以最新提交可能有问题。但我没有找到其他人解决这个问题。

提前致谢!

【问题讨论】:

  • 欢迎来到本站。用有限的信息提供帮助确实有点困难。您可以尝试从Help center 读取How do I ask a good question?
  • 如果您使用 putty 类型的客户端并从 putty 调用 train.py,您将能够看到步骤和进度
  • @SrinivasBringu 您好,感谢您的回复。我在 Windows 上使用 openSSH。它仍然没有显示步骤。此外,它不再使用 train.py,他们更改了 API,现在使用 model_main.py。
  • @user2653663 我添加了更多细节!
  • 感谢这个惊人的问题!!!我已经浪费了很多时间认为培训没有发生

标签: tensorflow object-detection object-detection-api


【解决方案1】:

model_main.py 脚本的导入部分之后添加tf.logging.set_verbosity(tf.logging.INFO)。它将在每 100 步后显示一个摘要。

【讨论】:

  • 成功了,谢谢!我还有几个疑问: 1. 为什么它最初不起作用? 2. 可以让每一步都显示吗?
  • 酷,你介意接受我的回答作为正确的答案,这样它也可以帮助其他人吗?对于您的问题: 1. 我实际上不知道他们为什么禁用此功能,也许有人只是忘记在官方存储库中提交它。 2.应该是可能的,但我还没有弄清楚如何。但是每 100 次后输出一次似乎足以进行调试(至少检查进程是否仍在运行)。
  • 我想通了!感谢您的帮助,它为我节省了很多时间。很棒的社区!
【解决方案2】:

按照 Thommy257 的建议,在 model_main.py 的 import 部分之后添加 tf.logging.set_verbosity(tf.logging.INFO) 默认每 100 步打印一次摘要。

进一步,指定摘要的频率,更改

config = tf.estimator.RunConfig(model_dir=FLAGS.model_dir)

config = tf.estimator.RunConfig(model_dir=FLAGS.model_dir, log_step_count_steps=k)

每 k 步后打印的位置。

【讨论】:

  • 有没有办法禁用 global_step/sec INFO?如果你问我,那就太多余了。
【解决方案3】:

关于最近对 model_main 的更改,以前的版本可在“legacy”文件夹中找到。我使用这个遗留文件夹中的 train.py 和 eval.py,其功能与以前相同。

【讨论】:

    猜你喜欢
    • 2019-08-07
    • 2020-08-25
    • 2017-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多