----------------------------------------------------先把别人博客教程跑通-------------------------------------------------------
Tensorflow object detection API 搭建物体识别模型(一)
安装protobuf参考:Tensorflow object detection API 搭建属于自己的物体识别模型(1)——环境搭建与测试
下载Python3.5,Tensorflow1.12
一开始用的tensorflow1.14,运行object_detect程序报错Gfile啥啥啥已经被抛弃了,请换成g.io啥啥的。应该是新版的tensorflow不再用下载程序里的那个函数了,换成新的函数了。
pip install matplotlib pip install pillow //安装PIL
报错
# From tensorflow/models/ protoc object_detection/protos/*.proto --python_out=. 每次使用新解压出来的object_detection文件夹时都要重新运行这一句,否则运行demo时会出现找不到string_int_label_map_pb2的问题,查看label_map_util.py文件发现from object_detection.protos import string_int_label_map_pb2 ,重新配置后问题解决。 ----
该命令在Linux系统是没有问题的,但在Windows 却报错:"object_detection/protos/*.proto: Invalid argument". ,后来发现是“*.”在windows系统是无法识别的,解决的方法是,使用git命令,不要用CMD命令,当然这需要你Windows系统安装了git了,Git for Windows下载地址:https://git-scm.com/download/win,安装完后,使用git命令重试protoc object_detection/protos/*.proto --python_out=. 就没有问题啦 原文:https://blog.csdn.net/guyuealian/article/details/80546236
TensorFlow object detection API
出现 ImportError: No module named ‘object_detection’ 这种问题 解决方法:在venv\Lib\site-packages添加一个路径文件,如tensorflow_model.pth,必须以.pth为后缀,写上你要加入的模块文件所在的目录名称就是了
报错:None has type NoneType, but expected one of: int, long
原因是标注的时候标错了,有几个标的是w,ww。打开标注软件删掉错误标注,再运行程序,就好了。
----------------------------------------------------自己训练-------------------------------------------------------
训练参考:TensorFlow Object Detection API 超详细教程和踩坑过程(数据准备和训练)
训练了有8k次还是1万多次,没识别出来QAQ。不太会用tensorboard看训练效果QAQ。
有网友说自己训练了3k次没识别出fish,之后训练了1w次就识别出来了。
----------------------------------------------------对每一步有个理解-------------------------------------------------------
目标检测实践_tensorflow版SSD模型测试
----------------------------------------------------保存训练过的模型-------------------------------------------------------
为什么tesnorflow保存model.ckpt文件会生成4个文件?
Tensorflow训练后的模型可以保存checkpoint文件或pb文件。 checkpoint文件是结构与权重分离的四个文件,便于训练; pb文件则是graph_def的序列化文件,类似于caffemodel,便于发布和离线预测。 官方提供freeze_grpah.py脚本来将ckpt文件转为pb文件。 TensorFlow模型会保存在后缀为.ckpt的文件中。 保存后在save这个文件夹中实际会出现3个文件,因为TensorFlow会将计算图的结构和图上参数取值分开保存。 model.ckpt.meta文件保存了TensorFlow计算图的结构,可以理解为神经网络的网络结构 model.ckpt文件保存了TensorFlow程序中每一个变量的取值 checkpoint文件保存了一个目录下所有的模型文件列表