**
Ubuntu 16.04 安装Tensorflow Object Detection API
**
本篇的内容主要参考以下链接:https://blog.csdn.net/pkokocl/article/details/82596089,
该博主描述的比较清楚,对于解决实际操作过程中遇到的问题很有帮助,下面针对我遇到的问题做一个记录。
环境:本次实验是在unbuntu 16.04下, tensorflow版本时1.10.1,python 3.5的环境下实现的。
依赖包的安装
此处注意:使用pip安装依赖包时一定要注意使用 pip 还是 pip3 ,否则可能在使用时会出现该包不存在的提示。
sudo apt-get install protobuf-compiler
sudo apt-get install python-pil
sudo apt-get install python-lxml
sudo pip3 install jupyter
sudo pip3 install matplotlib
数据的下载
可选择直接github上下载,或者是在终端使用命令下载,数据集链接: https://github.com/tensorflow/models
在终端使用如下命令:
mkdir tensorflow
cd tensorflow
git clone https://github.com/tensorflow/models.git
protobuf编译
若采用命令下载,则下载的文件位于当前目录下,其中tensorflow是自己建立的文件夹,根据其他博客的说法,此处为了与网上路径保持一致(为什么,不清楚,估计没有影响),在目录~/tensorflow/models/research/object_detection打开终端输入以下命令将proto文件编译为.py文件:
$ protoc ~/tensorflow/models/research/object_detection/protos/*.proto --python_out=.
此处注意:输入命令之后可能出现,以下错误:
object_detection/protos/ssd.proto:104:3: Expected "required", "optional", or "repeated".
object_detection/protos/ssd.proto:104:12: Expected field name.
object_detection/protos/model.proto: Import "object_detection/protos/ssd.proto" was not found or had errors.
object_detection/protos/model.proto:12:5: "Ssd" is not defined.
解决方案同上面链接中的一致。
查看当前protoc的版本
$ protoc --version
libprotoc 2.6.1
版本为2.6.1,需要升级protoc版本。
卸载protoc旧版本,sudo apt-get remove protobuf-compiler
到 https://github.com/google/protobuf/releases 下载最新的protoc安装包 protobuf-all-3.6.1.tar.gz
下载完后解压,然后执行下面的命令编译安装:
$ cd protobuf-3.6.1
$ ./configure --prefix=/usr
$ make -j15
$ make check -j15
$ sudo make install -j15
$ sudo ldconfig
$ protoc --version
将slim添加到PYTHONPATH
直接在.bashrc 文件中添加如下一行,使用如下一行,其中/×××代表系统路径
export PYTHONPATH=$PYTHONPATH:/×××/tensorflow/models/research:/your home path/tensorflow/models/research/slim
然后在终端执行 source ~/.bashrc
验证测试
在~/tensorflow/models/research目录下执行如下命令:
$ python3 object_detection/builders/model_builder_test.py
出现以下结果:No model name matplotlib
在终端使用命令:
$ sudo apt-get install python-matplotlib
$ pip3 install --user matplotlib
注意:命令中python是指python2,python3是指3.0版本的python,与pip,pip3的一样
jupyter问题
在环境搭建好,jupyter安装好之后会出现,io_loop参数问题:
解决方案:
在终端输入以下命令:
$ pip3 uninstall tornado
$ pip3 install tornado==4.5.3
#切记不要安装5.0以上版本,默认安装时为5.0版本,先卸载后再重新安***r> 对jupyter操作的问题: 记得去掉simple …off的勾,在右上角