【问题标题】:Tensorboard eval.py IOU for object detection用于对象检测的 Tensorboard eval.py IOU
【发布时间】:2019-01-29 09:03:26
【问题描述】:

我在 tensorflow 对象检测中使用了检测模型 zoo 中的 ssd_mobilenet_v1_coco。我目前正在通过运行来训练模型

python legacy/train.py --logtostderr --train_dir=trainingmobile/ --pipeline_config_path=trainingmobile/pipeline.config

我想通过运行 eval.py 来运行评估作业以获取 IOU 和 PR 曲线等其他指标,但我不知道该怎么做。我可以运行命令

python legacy/eval.py \
--logtostderr \
--checkpoint_dir= path/to/checkpoint \
--eval_dir= path/to/eval \
--pipeline_config_path= path/to/config

然后我运行命令

tensorboard --logdir=path/to/eval

张量板仅显示测试图像输出。如何获取 IOU 和 PR Curve 等其他指标?

【问题讨论】:

    标签: tensorflow object-detection tensorboard


    【解决方案1】:

    首先,我强烈建议您结合使用较新的model_main.py 脚本进行训练和评估。可以如下图使用:

    python object_detection/model_main.py \
       --pipeline_config_path=path/to/config \
       --model_dir=path/to/train_dir \
       --num_train_steps=NUM_TRAIN_STEPS \
       --num_eval_steps=NUM_EVAL_STEPS \
       --alsologtostderr
    

    它结合了训练和评估,您可以使用 tensorboard 进入

    tensorboard -logdir=path/to/train_dir
    

    Tensorboard 不仅会显示训练过程,还会显示您在验证集上的进度。他们使用 COCO 指标作为默认指标!

    对于您最初的问题:也许您应该将配置文件中的 eval 设置更改为更大的数字:

    eval_config: {
      num_examples: 8000
      # Note: The below line limits the evaluation process to 10 evaluations.
      # Remove the below line to evaluate indefinitely.
      max_evals: 10}
    

    如果您将使用model_main.py 脚本,评估次数将由标志设置。

    很高兴知道:tnesorflow 的信息输出在较新的model_main.py 脚​​本中被禁用。您可以通过添加来启用它

    tf.logging.set_verbosity(tf.logging.INFO)
    

    在导入部分之后。

    【讨论】:

    • 嗨,如果 num_eval_steps = 10,这是否意味着每 10 步,模型将根据测试数据进行评估以确定 IOU 或精度等?抱歉,我是新手,谢谢
    • 别担心!不,num_eval_steps = 10 意味着,对于每个评估周期,它将计算 10 个步骤。例如,如果您的批量大小为 1,它将评估验证集中的 10 个(随机)图像,并根据这些结果计算 mAP 和 Recall。因此,如果您的验证集中有 1000 张图像,您应该将 num_eval_steps 设置为比 1000 小得多的数字,因为您不想在每个周期都评估验证集中的所有图像(可能大约 50~ 100 就可以了)。
    • @Thommy257,这个--num_train_steps=NUM_TRAIN_STEPS 是否与配置文件中的num_steps 相同。这三个参数我没有设置--num_train_steps=NUM_TRAIN_STEPS--num_eval_steps=NUM_EVAL_STEPS--alsologtostderr。使用 tensorboard,我可以看到训练损失和精确召回单独的线曲线和输出图像以及基本事实。当我点击 tensorboard 上的 pr_curve 选项卡时,它没有显示任何内容,我错过了什么?我希望看到这样的东西github.com/tensorflow/tensorboard/tree/master/tensorboard/…
    猜你喜欢
    • 2023-03-09
    • 2019-04-16
    • 1970-01-01
    • 1970-01-01
    • 2020-07-26
    • 2018-11-29
    • 2020-09-12
    • 2021-01-01
    • 2021-09-12
    相关资源
    最近更新 更多