Tensorboard eval.py IOU用于对象检测

时间:2018-08-23 03:50:22

标签: tensorflow object-detection tensorboard

我在张量流对象检测中使用了来自检测模型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曲线之类的其他指标?

1 个答案:

答案 0 :(得分:4)

首先,我强烈建议您将较新的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 -logdir=path/to/train_dir

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

原始问题:也许您应该将配置文件中的评估设置更改为更大的数字:

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)

在导入部分之后。