Ubuntu17.04 TensorFlow Object Detection API 安装配置过程
2017年6月,Google公司开放了TensorFlow Object Detection API,这个项目使用TensorFlow实现了大多数深度学习目标检测框架。最近一直在学习深度学习,在做目标检测方面的东西,尝试了TensorFlow Object Detection API来训练自己的数据,发现在安装配置方面有很多的问题,因此在这里给出笔者的踩坑经历。配置过程是在Ubuntu17.04的版本中进行。
1、查看tensorflow版本和安装地址
首先,查看自己的TensorFlow版本和对应的安装地址,在终端中启动Python输入:
$ python
>>> import tensorflow as tf
>>> tf.__version__ (两个横线)
'1.12.0‘
>>> tf.__path__
['/usr/local/lib/python3.5/dist-packages/tensorflow ']
如果你还没有安装TensorFlow,需要先安装完才能进行配置。
$ pip install tensorflow ##安装cpu版本
$ pip install tensorflow-gpu ##安装gpu版本
2、下载tensorFlow Model模型库
$ git clone https://github.com/tensorflow/models.git
下载完之后,将models文件夹放在TensorFlow文件夹下,注意路径一定到清楚,最好放到默认TensorFlow文件夹下 [’ /usr/local/lib/python3.5/dist-packages/tensorflow/models/research/ ']
最后的models中的文件如下:
3、安装protoc
打开网址https://github.com/protocolbuffers/protobuf/releases,根据自己的ubuntu位数,下载想要的包,我这里下载的是proto-3.6.1-linux-x86_64。
下载后解压,执行如下命令:
$ sudo cp bin/protoc /usr/bin/protoc
注意:如果cp无法将protoc复制到/usr/bin/protoc目录下,可以直接手动将protoc文件夹中的protoc文件拷贝到/usr/bin/protoc文件夹下,效果一样.
4、Protobuf 编译(非常重要)
Tensorflow Object Detection API 用 Protobufs 来配置模型和训练参数. 在用这个框架之前,必须先编译Protobuf 库。确保当前bash是在anaconda的root环境中。
切换到这个目录下: /usr/local/lib/python3.5/dist-packages/tensorflow/models/research/ 下:
$ source activate root
$ cd /usr/local/lib/python3.5/dist-packages/tensorflow/models/research
$ sudo protoc object_detection/protos/*.proto --python_out=.
运行完成后,可以检查 /usr/local/lib/python3.5/dist-packages/tensorflow/models/research/object_detection/protos/ 文件夹,如果每个proto文件都成了对应的r如下如中的以py为后缀的python源码,就说明编译成功了。
5、将slim加入PYTHONPATH
(1)在models/research/slim中找到setup.py,执行以下命令:
$ python setup.py build
$ python setup.py install
(2)将slim加入PYTHONPATH,输入命令如下:
$ sudo gedit ~/.bashrc
在打开的文件最下方输入:
export PYTHONPATH=$PYTHONPATH: /usr/local/lib/python3.5/dist-packages/tensorflow/models/research:/usr/local/lib/python3.5/dist-packages/tensorflow/models/research/slim
使得~/.bashrc的修改生效:
$ source ~/.bashrc
在python中执行import slim成功则说明已经正确设置好了。
6、安装成功测试
在models/research目录下,下运行如下命令:
$ python object_detection/builders/model_builder_test.py
出现如下信息,说明已安装成功: