主要参考了 https://blog.csdn.net/dy_guox/article/details/79081499
这篇文章,但是过程中碰到了不少问题,记录一下。
我已经配置好的环境:
windows64
python 3.5.1
anaconda:4.1.0
tensorflow: 1.5.0
1.安装Tensorflow Object Detection API
Tensorflow Object Detection API 存放在https://github.com/tensorflow/models上,可以通过git来下载。这个网站下东西非常的慢,而且文件很大,400M。最后在网盘上找了一个,下载速度刚刚的。
2、安装protobuf
下载地址:
https://github.com/protocolbuffers/protobuf/releases
我使用pip install protobuf 给我下载的是3.7.1,最新的版本。为了获得exe文件,需要重新下载。文件只有1.3M,但是下载花了我一两天时间!!!受不了,尝试了更改hosts文件也不行,依旧很慢,最后好不容易下载好了。
3、将bin目录的exe文件复制到c盘的windows目录,然后cmd启动
在research文件下执行以下命令:
protoc object_detection/protos/.proto --python_out=.
报错:object_detection/protos/.proto: No such file or directory
查了一下,需要用右键+shift启动powershell,结果这个是win10的啦。。。
可以在windows左下角搜索powershell启动,输入命令之后还是不行!!!
但是不使用*.proto 而是具体文件名字就可以,看来是通配符不认识。。。
最后找到了解决问题的办法:https://blog.csdn.net/weixin_41997327/article/details/85934052
使用这个命令通过了!!
Get-ChildItem object_detection/protos/*.proto |Resolve-Path -Relative | %{protoc $_ --python_out=.}
这样,object_detection/protos/文件夹中每个proto文件都生成了对应以.py格式的代码文件,就说明编译成功了。这个过程是在太曲折了,让人作呕!!!
4、PYTHONPATH 环境变量设置
在 ‘此电脑’-‘属性’- ‘高级系统设置’ -‘环境变量’-‘系统变量’ 中新建名为‘PYTHONPATH’的变量,将
models/research/ 及 models/research/slim 两个文件夹的完整目录添加,分号隔开
5、测试API,在 models/research/ 文件夹下运行cmd命令行:
python object_detection/builders/model_builder_test.py
结果令人奔溃的报错了:
test_create_ssd_models_from_config+missing 2 required positional arguments: ‘inputs’ and 'out‘
看了下这篇文章:
https://blog.csdn.net/mr_muli/article/details/88557983
应该是版本错了。我的protobuf版本太新了估计是。于是尝试了3.4.0版本并重新编译,还是不行。报错:
TypeError: init() got an unexpected keyword argument ‘serialized_options’
参考了这篇文章:
https://blog.csdn.net/qq_29303759/article/details/83932891
还是版本错误的原因。
奔溃中。。。。。。
痛定思痛,我决定铲掉所有,重头来过。
重新安装了:
python 3.6.3
anaconda:5.0.1
tensorflow: 1.10.0
这一次参考了其他文章,前面的这篇文章有些地方语焉不详,可能是环境不一样。
https://blog.csdn.net/zhaoyoulin2016/article/details/80615687
5.0 在测试之前,先做编译:
安装tensorflow model以及slim
首先在命令行内执行:python setup.py install
这时候如果你执行:python object_detection/builders/model_builder_test.py将会报错:
ImportError:No module named nets
这时候就说明你的slim还没有安装,进入到slim文件下:同样执行
python setup.py install
此时回到research目录下cmd命令框执行如下命令:
Python object_detection/builders/model_builder_test.py
终于成功了!!!!!!!泪奔
6、测试自带案例
“开始-Anaconda3-Anaconda Prompt”调出命令行,改变工作目录至 models\research\object_detection
然后输入jupyter notebook,就会调用浏览器(Chrome)打开当前文件夹,点开 object_detection_tutorial.ipynb,
在新标签页中打开 Object Detection Demo,点击上方的 “Cell”-“Run All”,
第一次运行速度较慢,五分钟左右。出现狗狗图和海滩图,成功了!
可以睡觉了!