tensorflow API检测框和评估

时间:2018-05-17 14:35:53

标签: python tensorflow object-detection

我正在尝试在本教程https://towardsdatascience.com/how-to-train-your-own-object-detector-with-tensorflows-object-detector-api-bec72ecfe1d9之后使用张量流上的API检测。但是有些细节我不理解。

首先,我不了解配置文件中评估的一些参数。 “num readers”和“max_evals”参数。 “Max evals”似乎是对数据集的评估数量,但为什么它默认不是1?因为我们只需要检查一次检查点(或者我错了?)。关于培训,数据是否自动洗牌?

其次,我想知道我们是否可以使用张量板来在API检测的训练期间在图像中显示框。如果是,获得它的步骤是什么?

1 个答案:

答案 0 :(得分:2)

  • num_readers:我'并不完全确定,但它可能与您需要读取eval输入所需的进程数量有关。如果您发现阅读数据确实是您失去时间的地方(尽管通常情况并非如此,推理需要更多时间),您可以尝试更改它。

  • max_evals:说明您要评估的检查点数量。在训练时,作业将定期保存检查点(例如,如果您停止训练,您不会丢失所有以前的工作;或者您可以在{{1}分别创建的网络之间进行选择}和n次迭代)。您通常会同时开始一个评估工作,它将定期评估最后创建的检查点,最多m个检查点。如果您没有填写此值,它将评估所有创建的检查点,从而在培训期间定期为您提供评估效果。

  • 关于改组训练数据:您需要将max_evals添加到列车输入阅读器(在配置文件中),但apparently它可能无法在第一个时期使用,所以你可能还应该确保你的数据集没有预先排序。

  • 在训练期间用盒子显示图像:是的,你可以。您需要为此运行评估作业。您可以设置将在配置文件中保存的图像数量。要查看这些图像的检测结果,您的eval输入阅读器中需要shuffle: True。否则它会在每一步显示不同的图像,因此您无法真正看到进度。然后你只需运行Tensorboard,图像就会出现在"图像"标签