配置tensorflow object detection api,然后训练faster rcnn结果供用vs2015调用

主要写下来以免忘记。。。
注意:自己使用的tensorflow-gpu 1.13.1(cuda10,cudnn7.3.1),所以github上面下载models的时候要选取分支下载r1.13.0版本(https://github.com/tensorflow/models/tree/r1.13.0),否则最新版在tensorflow-gpu 1.13.1环境里面会报错“module ‘tensorflow._api.v1.compat’ has no attribute ‘v1’”等等。这一步很关键,单独提出来供其他同学参考。
剩下的参考下面两篇博文即可
https://blog.csdn.net/csdn_6105/article/details/82933628
https://blog.csdn.net/qq_29462849/article/details/85327181

以下为自己的文件操作指南,主要供自己和同事参考,所有文件打包放在百度云,有需要的可以自取,需要自己参考以上博客安装配置一些文件。
链接:https://pan.baidu.com/s/17dxZcIntwdTmVCTwh9BuQw
提取码:tp0s

1.打开终端cd到models\research\object_detection里面
2.终端输入activate tf1.13指令进入tf1.13环境(已经安装好训练所需要的文件)
3.将图片以及标注文件xml参照images里面的格式放好
4.cd …到object_detection文件夹,运行“python xml_to_csv.py”得到train_labels.csv和test_labels.csv
5.分别运行“python generate_tfrecord.py --csv_input=images/train_labels.csv --image_dir=images/train --output_path=train.record”
以及“python generate_tfrecord.py --csv_input=images/train_labels.csv --image_dir=images/train --output_path=train.record”
在当前文件夹得到train.record 以及 test.record
6.在detection_model_zoo下载预训练模型,目前已经下载faster_rcnn_inception_v2_coco_2018_01_28,可直接使用(如果想使用其它模型自行添加即可)
7.(关键)修改训练配置文件,重点修改"faster_rcnn_inception_v2_pets.config",主要涉及num_classes,fine_tune_checkpoint,input_path,label_map_path等。
修改标签(labelmap.pbtxt)里面的内容,按照格式根据实际项目修改。
8.训练指令:python legacy/train.py --train_dir=training/ --pipeline_config_path=training/faster_rcnn_inception_v2_pets.config --alsologtostderr
9.训练完以后固化成pb格式文件,指令为“python export_inference_graph.py --input_type image_tensor --pipeline_config_path training/faster_rcnn_inception_v2_pets.config --trained_checkpoint_prefix training/model.ckpt-20000 --output_directory inference_graph”
10.pb文件在inference_graph里面,要想使用opencv的dnn调用,还需要pbtxt文件。用opencv里面的tf_text_graph_faster_rcnn.py(在D:\opencv3.4.7\sources\samples\dnn里面)将pb转成pbtxt,我是将整个dnn文件夹复制到object_detection文件夹里面
11.修改dnn文件夹里面的tf_text_graph_faster_rcnn.py,主要在最后main函数里面修改pb文件以及config文件的地址,这样才能得到pbtxt文件
12.运行“python dnn\tf_text_graph_faster_rcnn.py”在inference_graph文件夹得到faster_rcnn.pbtxt文件
13.将faster_rcnn.pbtxt以及frozen_inference_graph.pb复制到vs2015的项目中。本例在“E:\load_pb+pbtxt\load_pb+pbtxt”
14.修改vs2015里面的train.cpp,主要就是调用以上文件和图片,最后运行即可。

参考网址:https://blog.csdn.net/csdn_6105/article/details/82933628
https://blog.csdn.net/qq_29462849/article/details/85327181

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值