首页 文章

用于对象检测的Tensorboard eval.py IOU

提问于
浏览
1

我在张量流对象检测中使用来自检测模型动物园的ssd_mobilenet_v1_coco . 我目前正在通过运行来训练模型

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

我想通过运行eval.py运行评估工作来获取其他指标,如IOU和PR Curve,但我不知道该怎么做 . 我能够运行命令

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等其他指标?

1 回答

  • 3

    首先,我强烈建议您使用较新的 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 脚本,则将通过标志设置评估数 .

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

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

    在导入部分之后 .

相关问题