Tensorflow 验证自己的目标检测与识别模型 (五)
Tensorflow 验证自己的目标检测与识别模型 (五)
关于模型训练见链接:https://blog.csdn.net/weixin_41644725/article/details/85700732
本章的主要内容主要叙述如何对模型进行验证。
1.保存模型生成frozen_inference_graph.pb
(1)将object_detection下的export_inference_graph.py文件拷贝到自己的项目中。
打开文件,对以下几处进行修改:
第一处:在113行处,如下代码块中的None进行修改,设置为所采用模型的.config配置文件,例如ssd_inception_v2_coco.config
flags.DEFINE_string('pipeline_config_path', None,
'Path to a pipeline_pb2.TrainEvalPipelineConfig config '
'file.')
例如 flags.DEFINE_string('pipeline_config_path', 'ssd_inception_v2_coco.config',
'Path to a pipeline_pb2.TrainEvalPipelineConfig config '
'file.')
第二处:在116行处将以下带代码进行修改,将None设置为存储训练模型的文件夹,即training_model
flags.DEFINE_string('trained_checkpoint_prefix','./training_model/model.ckpt-200000',
'Path to trained checkpoint, typically of the form '
'path/to/model.ckpt')
第三处:在119行处修改下面代码,将None设置为生成frozen_inference_graph.pb存在的文件夹
flags.DEFINE_string('output_directory', None, 'Path to write outputs.')
然后运行该export_inference_graph.py文件,结果如图所示:
2.验证模型
将object_detection/legacy/eval.py文件拷贝到自己的项目中,并打开文件,对以下几处进行修改。
第一处:在61行处,对以下代码进修改,设置 'checkpoint_dir’的路径,该路径即为生成frozen_inference_graph.pb的所在路径。
flags.DEFINE_string(
'checkpoint_dir', '',
'Directory containing checkpoints to evaluate, typically '
'set to `train_dir` used in the training job.')
例如 flags.DEFINE_string(
'checkpoint_dir', './data_set/'ssd_inception_v2_coco',
'Directory containing checkpoints to evaluate, typically '
'set to `train_dir` used in the training job.')
第二处:在25行处,修改以下代码,配置保存验证模型的结果的文件夹,其中./eval_log/'ssd_inception_v2_coco
为验证结果保存在文件夹下。
flags.DEFINE_string('eval_dir', './eval_log/ssd_inception_v2_coco',
'Directory to write eval summaries to.')
第三处:在66行处,配置使用的.config文件,例如以下代码
flags.DEFINE_string(
'pipeline_config_path', 'ssd_inception_v2_coco.config',
'Path to a pipeline_pb2.TrainEvalPipelineConfig config '
'file. If provided, other configs are ignored')
最后运行eval.py文件,结果如图所示:
该图像中展示了两个模型的验证结果。