我正在使用Tensorflow的对象检测API训练模型,并且在Tensorboard上看到了评估结果。
现在,我需要使用新的测试数据运行另一次仅评估运行。
我确实搜索了文档以及其他stackoverflow问题,但我找不到正确的方法,只有旧版模式对我不起作用。
如何做到这一点的正确方法?
答案 0 :(得分:1)
您还可以使用 model_main.py 评估模型。
如果要根据验证数据评估模型,则应使用:
python models/research/object_detection/model_main.py --pipeline_config_path=/path/to/pipeline_file --model_dir=/path/to/output_results --checkpoint_dir=/path/to/directory_holding_checkpoint --run_once=True
如果要根据训练数据评估模型,则应将“ eval_training_data”设置为True,即:
python models/research/object_detection/model_main.py --pipeline_config_path=/path/to/pipeline_file --model_dir=/path/to/output_results --eval_training_data=True --checkpoint_dir=/path/to/directory_holding_checkpoint --run_once=True
我还添加了注释以阐明一些先前的选项:
-pipeline_config_path:用于训练检测模型的“ pipeline.config”文件的路径。此文件应包含您要评估的TFRecords文件(训练和测试文件)的路径,即:
...
train_input_reader: {
tf_record_input_reader {
#path to the training TFRecord
input_path: "/path/to/train.record"
}
#path to the label map
label_map_path: "/path/to/label_map.pbtxt"
}
...
eval_input_reader: {
tf_record_input_reader {
#path to the testing TFRecord
input_path: "/path/to/test.record"
}
#path to the label map
label_map_path: "/path/to/label_map.pbtxt"
}
...
-model_dir :将在其中写入生成的度量标准的输出目录,尤其是可由tensorboard读取的“ events。*”文件。
-checkpoint_dir :具有检查点的目录。在训练过程中或通过使用“ export_inference_graph.py”导出检查点文件(“ model.ckpt。*”)后,即在该目录中写入了模型目录。
-run_once :真,仅运行一次评估。