Shi*_*iro 2 python object-detection tensorflow
我正在尝试按照本教程https://towardsdatascience.com/how-to-train-your-own-object-detector-with-tensorflows-object-detector-api-bec72ecfe1d9在 tensorflow 上使用 API 检测。但是有一些细节我不明白。
首先,我不明白配置文件中的一些评估参数。“num reader”和“max_evals”参数。“Max evals”似乎是对数据集的评估次数,但为什么默认情况下它不是 1?因为我们只需要测试一次检查点(或者我错了?)。关于训练,数据是自动洗牌的吗?
其次,我想知道我们是否可以使用 tensorboard 以便在使用 API 检测的训练期间在图像中显示框。如果是,获得它的步骤是什么?
num_readers:我不完全确定,但这可能与您需要读取 eval 输入的进程数有关。如果您发现读取数据确实是您浪费时间的地方,您可以尝试更改它(但通常情况并非如此,推理需要更多时间)。
max_evals: 表示您要评估多少个检查点。在训练时,训练作业会定期保存检查点(例如,如果您停止训练,则不会丢失所有先前的工作;或者,您可以在分别由n和m迭代创建的网络之间进行选择)。您通常会同时开始评估作业,这将定期评估上次创建的检查点,直至max_evals检查点。如果您不填写此值,它将评估所有创建的检查点,从而在训练期间定期为您提供评估性能。
关于改组训练数据:您需要为此添加shuffle: True到训练输入读取器(在配置文件中),但显然它可能不适用于第一个时期,因此您可能还应该确保您的数据集没有事先排序。
在训练期间用框显示图像:是的,你可以。您需要为此运行评估作业。您可以设置将在配置文件中保存多少图像。要查看这些图像检测的演变,您需要shuffle: False在 eval 输入阅读器中。否则它会在每一步向你显示不同的图像,所以你不会真正看到进度。然后你只需运行 Tensorboard,图像将在“图像”选项卡中。
| 归档时间: |
|
| 查看次数: |
3234 次 |
| 最近记录: |