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