在Windows下使用Tensorflow Object Detection API
环境
Windows7/10
Python 3.6
Tensorflow-gpu 1.2
CUDA Toolkit 8与 cuDNN v5
首先我们安装Tensorflow,最新的版本为1.2/1.8。在python 3.5+使用Tensorflow非常的简单,不需要过多的流程,只需要使用pip进行安装,所有相关的依赖就会自动安装完成。
Tensorflow Object Detection API使用Protobufs来配置模型和训练参数。 在使用框架之前,必须编译Protobuf库。对于protobuf,在Linux下我们可以使用apt-get安装,在Windows下我们可以直接下载已经编译好的版本,这里我们选择下载列表中的protoc-3.3.0-win32.zip。
下载:Github:https://github.com/google/protobuf/releases
我们将bin文件夹加入到环境变量中,然后在CMD执行protco命令,可以看到protobuf要求输入文件:
接下来我们下载tensorflow/models:
git clone https://github.com/tensorflow/models.git
然后打开文件下的research,将research作为根目录来执行cmd操作,输入以下命令可得:
protoc object_detection/protos/*.proto --python_out=.
运行结果:
打开object_detection/protos/文件夹,如果每个.proto文件都生成了对应的.py文件代表编译成功了。
第二步:将models/research文件下的Slim添加到PYTHONPATH
配置protoc3.3后运行(在research目录下cmd):
python object_detection\builders\ model_builder_test.py
解决方法:到D:\Python364anzhuang\Lib\site-packages目录下,新建一个tensorflow_model.pth,注意:这里先建一个.txt文件,然后重命名为tensorflow_model.pth,然后拷贝到python下用pycharm打开编写即可,打开后在tensorflow_model.pth中添加如下路径保存即可:
D:\protobufanzhuang\models\research
D:\protobufanzhuang\models\research\slim
再次运行:
以上表明环境搭建完成。
运行官方给定好的jupyter-notebook文件,即object_detection_tutorial.ipynb,将它转写成object_detection_tutorial.py文件后运行:
运行后会有如下警告错误,
解决方法是:
将它:from matplotlib import pyplot as plt
改成:import matplotlib; matplotlib.use('Agg')
import matplotlib.pyplot as plt
最终模型运行文件在model中的research中的object_detection中
参考网址:在Windows下使用Tensorflow Object Detection API - 简书
TensorFlow Object Detection API(Windows下测试) - 负赑屃 - 博客园
Object_Detector_API使用(静态图像识别)_xingwei_09的博客-CSDN博客