1. 创建tf2环境,安装容易安装的依赖包
在Anaconda中建立一个tf2环境,并安装如下包:
Tensorflow 2.0
Protobuf
Pillow
tk
lxml
2. 安装pycocotools
在windows下安装请参考我的另一篇文章:
更简洁的办法:
pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
3. 安装Object_detection包
3.1 下载model-master.zip
下载Github上面的model,https://github.com/tensorflow/models,解压缩到任意文件夹,我这里是放在了我的环境目录中:
(tf2) C:\Users\jmliu\AppData\Local\Continuum\anaconda3\envs\tf2\models
3.2 编译Protobuf
官方网上介绍的编译如下:
# From tensorflow/models/research/
protoc object_detection/protos/*.proto --python_out=.
但是按照上面的方法在windows下无法编译成功,windows下protoc不支持同时编译多个文件,解决方法如下:
在<解压的文件夹>/models/research文件夹创建一个批处理文件(我命名为foo.bat),内容如下:
REM ==== 批处理文件foo.bat的内容 ====
dir "object_detection\protos\*.proto" > object_dection_protos.txt
for /f "skip=5 tokens=3* delims= " %%a in (object_dection_protos.txt) do (
if not "%%a"=="<DIR>" if not "%%b"=="bytes" if not "%%b"=="bytes free" protoc "object_detection\protos\%%b" --python_out=.
)
del object_dection_protos.txt
pause
在tf2环境中,<解压的文件夹>/models/research文件夹下运行上面的foo.bat
(tf2) C:\Users\jmliu\AppData\Local\Continuum\anaconda3\envs\tf2\models\research>foo.bat
完成protobuf的编译
3.3 安装object_detection依赖
转到<解压的文件夹>/models/research/research下,注意,一定是<解压的文件夹>/models/research这个文件夹下。
运行pip install .
(tf2) C:\Users\jmliu\AppData\Local\Continuum\anaconda3\envs\tf2\models\research>pip install .
这样就完成了object_detection的安装