最近在尝试用Tensorflow object detection API搭建一个自己的物体识别模型,搭建过程也比较繁琐,主要借鉴和学习了其它博客中的方法,也出现一些小问题自己解决了,主要记录一下在安装过程中出现的小问题。
感谢 dy_guox 博主的总结,学习到了很多。
作者:dy_guox
原文地址:https://blog.csdn.net/dy_guox/article/details/79081499
1.Tensorflow有CPU版本与GPU版本,我目前只安装了CPU版本。采用pip原生安装,在Anaconda3-Anaconda Prompt中输入“ pip install --upgrade tensorflow ”。安装是有过两个小问题,一个是pip版本不够,根据提示命令符升级一下就好,另外一个是响应时间超时的问题,这个多试几次,网速好的时候就可以下载完成。
2.protobuf的安装与配置中的小问题,在 https://github.com/google/protobuf/releases 网站中选择windows 版本,解压后将bin文件夹中的【protoc.exe】放到C:\Windows
windows系统,ps:protocful需要选择选择 3.4版本,不然报错: No such file or directory。
3.测试API,在 models/research/ 文件夹下运行命令行:python object_detection/builders/model_builder_test.py。出现 ImportError: No module named 'object_detection' ,需要在 F:\Anaconda\Lib\site-packages 这个文件夹目录下,写一个.pth文件,内容为以下两条路径,再进行测试。
4.数据预处理时的问题,大部分为路径问题,大家执行命令是要看清路径,进行选择。
5.最后训练模型时的问题特别多,显示没有pycocotools,于是我按照教程先安装了vs2015,显示.net fremawork版本太低,于是升级版本,安装vs之后,命令执行显示图2
下载Git之后在环境变量path中添加了 C:\Program Files\Git\bin路径,再在cmd中执行pycocotools下载命令,速度可能会比较慢,稍微等一段时间就可以安装成功。
6.继续运行python model_main.py \ --pipeline_config_path=object_detection/training/ssd_mobilenet_v1_coco.config \ --model_dir=object_detection/training \ --num_train_steps=50000 \ --num_eval_steps=2000 \ --alsologtostderr
又出现以下的错误。
解决办法:升级dask即可,直接cmd下,pip install --upgrade dask
7.训练模型:Anaconda Prompt 定位到 models\research\object_detection文件夹下,运行如下命令:python train.py --logtostderr --train_dir training --pipeline_config_path training/ssd_mobilenet_v1_coco.config 得到以下结果。
这个训练过程中如果出现编译出错问题,要仔细检查自己修改的config文件。我这里运行的train.py文件是models-master\research\object_detection\legacy目录下的。