【问题标题】:Seeing more than 10 test examples in Tensoboard在 Tensorboard 中查看 10 多个测试示例
【发布时间】:2018-06-29 01:34:31
【问题描述】:
我在一批 1000 个标记图像上运行 Tensorflow Object Detection API,其中 80 个我保留用于测试。
这是使用提供的 train.py 和 eval.py 脚本完成的,并且还使用了 repo 中提供的管道的 one。
在我得到train.py 和eval.py 运行后,我运行Tensorboard 来监控训练进度。但是,当我转到 Image 选项卡时,我只找到了 80 个用于训练的示例中的 10 个。
有没有办法强制 Tensorboard 使用所有提供的示例?
【问题讨论】:
标签:
python
tensorflow
conv-neural-network
tensorboard
【解决方案1】:
我会回答自己。
答案是不;在 Tensorboard 中只能同时看到 10 个评估图像。
要测试更多图像,必须在给定的检查点导出模型并编写脚本,以便使用该模型在一组图像上运行推理。
它肯定不会是自动的、实时的,并且像看到 Tensorboard 为您完成所有这些工作一样舒适,但它是一个有效的解决方案。
【解决方案2】:
通过编辑 object_detection/protos/eval.proto 文件,然后重新运行 protoc(请参阅 Tensorflow 文档),我已经能够使其在 Tensorboard 1.11.0 中工作。例如,eval.proto 中的这一行将启用 100 个示例(而不是默认的 10 个):
可选 uint32 num_visualizations = 1 [default=100];
这可能会对系统内存、浏览器性能、eval 性能等产生影响。因此请谨慎使用。
【解决方案3】:
在训练之前内联替换并重新运行 protoc 命令。
sed -i 's/uint32 num_visualizations = 1 \[default = 10\]/uint32 num_visualizations = 1 \[default = 30\]/' /content/models/research/object_detection/protos/eval.proto
cd /content/models/research
protoc object_detection/protos/*.proto --python_out=.