Tensorflow目标检测API未显示全局步骤

11

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

细节: 我正在服务器上进行训练,并使用Windows上的OpenSSH进行访问。我收集了图片并进行了标注,从而训练出一个自定义数据集。我使用model_main.py进行训练。此外,几个月前,该API略有不同,最近才改为最新版本。例如,以前它使用train.py进行训练,而不是model_main.py。所有我能找到的在线教程都使用train.py,因此这可能是最新提交的问题。但我没有发现其他人遇到了这个问题。

提前感谢!


欢迎来到本站。由于信息有限,帮助可能会有些困难。您可以尝试阅读如何提出一个好问题?位于帮助中心的文章。 - user2653663
如果你使用类似putty的客户端并从putty中调用train.py,你将能够看到步骤和进度。 - Srinivas Bringu
@SrinivasBringu 您好,感谢您的回复。我正在Windows上使用openSSH。但它仍然没有显示步骤。此外,它不再使用train.py,他们改变了API,现在使用model_main.py。 - Aditya Singh
@user2653663,我添加了更多细节! - Aditya Singh
1
感谢这个精彩的问题!!!我浪费了很多时间在思考培训是否正在进行。 - Piyal George
@PiyalGeorge 我很高兴它有帮助! - Aditya Singh
3个回答

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

1
它运行了,谢谢!我还有几个疑问:1. 为什么一开始没有运行?2. 我可以让它显示每一步吗? - Aditya Singh
很酷,你介意把我的答案选为正确的答案吗?这样可以帮助其他人。关于你的问题:1.我实际上不知道他们为什么禁用了这个功能,也许有人只是忘记提交它到官方存储库中。2.应该是可能的,但我还没有弄清楚如何做。但每100个之后输出一次似乎足以进行调试(至少检查进程是否仍在运行)。 - Thommy257
我搞定了!感谢你的帮助,它为我节省了很多时间。真是一个伟大的社区! - Aditya Singh

11

如Thommy257所建议,在model_main.py的导入部分后添加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信息?如果你问我,这很冗余。 - Artur Müller Romanov

2
关于 model_main 的最近更改,以前的版本可在“legacy”文件夹中找到。我使用来自此 legacy 文件夹的 train.py 和 eval.py 与以前相同的功能。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接