Tensorflow 对象检测中的训练和验证准确性 API
Training and Validation Accuracy in Tensorflow Object Detection API
我一直在自己的数据集上使用 Tensorflow 对象检测 API。训练时,训练损失会在张量板上更新。但是我分别需要训练和验证的准确性(mAP)。
需要采取哪些步骤才能获得这些值?
如果您使用的是 keras API,通过 tf.keras
,您可以在 model.fit
函数中添加评估函数作为指标。查看 the official documentation 以获取所有可用指标的列表。
您可能会对 tf.metrics.average_precision_at_k
感兴趣。如果它不能完全满足您的需要,您还可以实施自定义指标。
既然你说 mAP 代表平均平均精度,你需要在管道配置文件中使用值“coco_detection_metrics”的 metrics_set。你的文件应该有这样的东西:
eval_config: {
metrics_set: "coco_detection_metrics"
use_moving_averages: false
}
之后,当您 运行 eval_continuously 时,您应该在验证集上获得 mAP。
对于训练集,您需要在 运行 运行 model_main_tf2.py
脚本时设置 eval_on_train_data
参数。
我一直在自己的数据集上使用 Tensorflow 对象检测 API。训练时,训练损失会在张量板上更新。但是我分别需要训练和验证的准确性(mAP)。 需要采取哪些步骤才能获得这些值?
如果您使用的是 keras API,通过 tf.keras
,您可以在 model.fit
函数中添加评估函数作为指标。查看 the official documentation 以获取所有可用指标的列表。
您可能会对 tf.metrics.average_precision_at_k
感兴趣。如果它不能完全满足您的需要,您还可以实施自定义指标。
既然你说 mAP 代表平均平均精度,你需要在管道配置文件中使用值“coco_detection_metrics”的 metrics_set。你的文件应该有这样的东西:
eval_config: {
metrics_set: "coco_detection_metrics"
use_moving_averages: false
}
之后,当您 运行 eval_continuously 时,您应该在验证集上获得 mAP。
对于训练集,您需要在 运行 运行 model_main_tf2.py
脚本时设置 eval_on_train_data
参数。