准备大体按照官方文档进行。
sudo apt-get install protobuf-compiler python-pil python-lxml python-tk
pip install --user Cython
pip install --user contextlib2
pip install --user jupyter
pip install --user matplotlib
pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
官方链接在这里。这里我没有下载整个models,在linux下面只下载了Object_Detection。方法如下:
Reference:https://blog.csdn.net/why19940926/article/details/78580067
文档里面有详细说明。这里我把Protobuf直接加入了路径,执行下面的操作:
protoc object_detection/protos/*.proto --python_out=.
最后看到protos文件夹下有python文件生成,如图;
在Object_Detection的上一级目录下执行下面代码:
# From tensorflow/models/research/
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
注意这种方式只对当前命令窗口有效,关掉窗口还是要重新输入,最好的方案是直接把包放到目录下去,比如我的:/home/sunyan/anaconda3/lib/python3.6/site-packages/object_detection
还是在Object_Detection的上一级目录下执行下面代码
python object_detection/builders/model_builder_test.py
果不其然,报错了。我就知道没那么容易装好(┑( ̄Д  ̄)┍)。
说是TF里面没有keras模块,但我知道最新的是有的,所以检查一下TF的版本:
import tensorflow as tf
print(tf.__versin__)
#1.3.0
查了一下TF1.4版本才有的keras,所以通过pip升级到最新的版本,这里我选择TF==1.5:
pip install tensorflow-gpu==1.5
重新执行,依旧有报错;
然而我使用pycharm打开后运行通过了,有点奇怪。
因为我装的是TF1.5,所以首先把里面的这句话删掉:
if StrictVersion(tf.__version__) < StrictVersion('1.9.0'):
raise ImportError('Please upgrade your TensorFlow installation to v1.9.* or later!')
第一次运行需要下载模型,下载时间比较久,第二次就不需要了,可以把下载的代码注释掉。
# 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,不需要额外安装了)