目标物识别object_detection二:训练自己的模型

参考文献:1.https://blog.csdn.net/c2a2o2/article/details/78447784玩具检测器
2.https://blog.csdn.net/chenmaolin88/article/details/79357263用TensorFlow训练一个物体检测器(手把手教学版)

slim和proto搞定之后,进行主体工作。素材用的参考文献1的toy。新建toy_detector文件夹,把官网的object_detection和slim整体拷贝到此路径下。如图。
在这里插入图片描述

首先要下载基本模型(tensorflow官网提供的),我的好像是从别人的网盘上弄来的,github上又找了两遍没找到,所以这里没法给连接咯。如下图:
在这里插入图片描述这里用了v1_coco模型,解压到D:\Tensorflow\toy_detector\model展开如下:
在这里插入图片描述相应的配置文件在object_detection\samples\configs里,如下图:
在这里插入图片描述拷贝ssd_mobilenet_v1_toy.config到D:\Tensorflow\toy_detector目录下,修改里面的num_classes设置为1,模型路径 以及训练集和检测集路径还有pbtxt的路径。“…”代表省略不变的部分
在这里插入图片描述
toy_label_map.pbtxt内容如下:
在这里插入图片描述
train.record和val.record是用他原来的,当然你也可以根据上篇博文 自己生成。接着把主程序train.py(也可用他自带的)从toy_detector\object_detection\legacy中拷贝到toy_detector根路径下。legacy内文件如下(这下面的特别是train.py和trainer.py原来是直接在object_detection下的,tensorflow可能是升级移到此文件夹下了,找不到trainer.py给我造成不小的麻烦,最好也考一份train.py和trainer.py直接放到object_detection文件夹下):
在这里插入图片描述新建一个train文件夹,放置训练中间和最终文件,cmd下进入toy_detector根路径,输入:
train.py --logtostderr --pipeline_config_path=D:/Tensorflow/toy_detector/ssd_mobilenet_v1_toy.config --train_dir=D:/Tensorflow/toy_detector/train
就开始跑了。没跑完,我训练到了精度1.2左右,不再下降了。就ctr+c终止训练,输出的ckpt模型如下:
在这里插入图片描述上边的events是 给tensoboard实时查看用的,可能是电脑性能的关系,用tensorboard在网页上,我始终刷新不出图出来。不过已经大功告成,测试一下模型咋样。这里直接可以用了,可是我们一般习惯用.pb固化好的模型,所以下一步固化他,然后再测试。
若是GPU,则需要在train.py文件的第55行,加入下面这句:

#GPU需要加上下面这句,0表示第1块GPU设备

os.environ[‘CUDA_VISIBLE_DEVICES’] = “0”
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44345862/article/details/88623398
今日推荐