我正在使用TensorFlow 2.x对象检测API。在我的数据集上,我从模型动物园训练了一个深入的学习模型。我在用谷歌Colab。训练结束后,我想对我的模型进行评估。我正在使用coco检测指标。我使用下面的脚本来评估我的模型,
!python3 model_main_tf2.py \
--model_dir = path/to/model directory \
--pipeline_config_path = path/to/pipeline config file \
--checkpoint_dir = path/to/checkpoint directory运行上述代码后,我得到测试集上最新检查点的平均平均精度(mAP)和平均召回率(AR)。但出于学术目的,我希望在所有检查点上得到这些指标,以得到我的模型随着时间的推移是如何改进的图表。有可能做到这一点吗?还是可以在TensorFlow 2对象检测API中同时进行训练和评估?我是这个领域的初学者,所以请帮助我解决这个问题。谢谢。
发布于 2022-06-22 17:18:36
我也面临着同样的问题。所以我有个主意。我们可以运行您提到的评估模型的model_main_tf2.py,但更改当前的检查点(第一行)以在检查点文件中进行计算。
model_checkpoint_path:"ckpt-1“
然后
model_checkpoint_path:"ckpt-2“
然后
model_checkpoint_path:"ckpt-3“
。。。
对于每个检查点,您将得到一个.tfevent,然后打开TensorBoard,指向包含所有.tfevent的目录,您可以看到模型随着时间的推移是如何改进的。
我刚刚在我的电脑里保存了最后的3个检查点,所以我从一开始就看不到进展(我的错),但是如果你有所有的检查点,试着按照我的建议去做。
请参见我的图表评估最后3个检查点。
发布于 2022-04-01 06:28:15
您应该在模型目录下有一个包含events.out.tfevents文件的eval目录。您可以运行!tensorboard --logdir=path/to/eval/directory来访问图形。除了没有checkpoint_dir之外,您还可以使用相同的代码片段运行培训,并且可以打开另一个终端来运行评估,就像您目前正在做的那样。
https://stackoverflow.com/questions/67417609
复制相似问题