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

Tensorboard eval.py IOU for object detection

我在 tensorflow 对象检测中使用了来自 detection model zoo 的 ssd_mobilenet_v1_coco。我目前正在通过 运行ning

训练模型
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 曲线?

首先,我强烈建议您结合使用较新的 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)

在导入部分之后。