我在张量流对象检测中使用了来自检测模型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曲线之类的其他指标?
答案 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)
在导入部分之后。