准备
准备大体按照官方文档进行。
检查库
1 | sudo apt-get install protobuf-compiler python-pil python-lxml python-tk |
COCO API installation
1 | pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI |
下载 Object_Detection
官方链接在这里。这里我没有下载整个 models,在 linux 下面只下载了 Object_Detection。方法如下:
首先安装 svn
1
sudo apt-get install subversion
确定导出的文件夹 URL, 比如 https://github.com/tensorflow/models/tree/master/research/object_detection?1540622178700 。
- 首先改为:https://github.com/tensorflow/models/tree/master/research/object_detection
然后把其中的 tree/master 替换成 trunk。 - 导出 Reference:https://blog.csdn.net/why19940926/article/details/78580067
1
svn checkout https://github.com/tensorflow/models/trunk/research/object_detection
Protobuf Compilation
文档里面有详细说明。这里我把 Protobuf 直接加入了路径,执行下面的操作:最后看到 protos 文件夹下有 python 文件生成,如图;1
protoc object_detection/protos/*.proto --python_out=.
Add Libraries to PYTHONPATH
在 Object_Detection 的上一级目录下执行下面代码:注意这种方式只对当前命令窗口有效,关掉窗口还是要重新输入,最好的方案是直接把包放到目录下去,比如我的:1
2From tensorflow/models/research/
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim/home/sunyan/anaconda3/lib/python3.6/site-packages/object_detection
Testing the Installation
还是在 Object_Detection 的上一级目录下执行下面代码果不其然,报错了。我就知道没那么容易装好 (┑( ̄Д  ̄)┍)。1
python object_detection/builders/model_builder_test.py
说是 TF 里面没有 keras 模块,但我知道最新的是有的,所以检查一下 TF 的版本:查了一下 TF1.4 版本才有的 keras, 所以通过 pip 升级到最新的版本,这里我选择 TF==1.5:1
2
3import tensorflow as tf
print(tf.__versin__)
#1.3.0重新执行,依旧有报错;1
pip install tensorflow-gpu==1.5
然而我使用 pycharm 打开后运行通过了,有点奇怪。运行 notebook 测试
因为我装的是 TF1.5,所以首先把里面的这句话删掉:第一次运行需要下载模型,下载时间比较久,第二次就不需要了,可以把下载的代码注释掉。1
2if StrictVersion(tf.__version__) < StrictVersion('1.9.0'):
raise ImportError('Please upgrade your TensorFlow installation to v1.9.* or later!')当然也可以自己下载, 点击下载模型 ,经测试,自己下载的速度还快一点。1
2# opener = urllib.request.URLopener()
# opener.retrieve(DOWNLOAD_BASE + MODEL_FILE, MODEL_FILE)
(2018.10.28 Update: 我电脑的 GPU 环境被我搞乱了,目前只能在 CPU 上运行了)
(2018.10.28 Update: 问题找到了,conda 安装 TF GPU 版本的会自动下载 cuda 和 cudnn,不需要额外安装了)