mac OS 安装tensorflow并配置TensorFlow Object_detection API
1.安装Anaconda3并配置新环境tensorflow
在Anaconda官网下载Anaconda3的mac版本,安装后创建新环境tensorflow:
conda create -n tensorflow python=3.6
启动新环境:
source activate tensorflow
用pip安装tensorflow:
pip install tensorflow
如果安装成功,在python命令行中输入import tensorflow 则不会报错:
>>> import tensorflow
>>>
2. 配置TensorFlow Object_detection API
1.下载tensorflow/models
2.安装Libraries和依赖
pip install pillow
pip install lxml
pip install jupyter
pip install matplotlib
pip install protobuf
3.COCO API 安装
git clone https://github.com/cocodataset/cocoapi.git
cd cocoapi/PythonAPI
make
可能会报错:
python setup.py build_ext --inplace
Traceback (most recent call last):
File "setup.py", line 2, in <module>
from Cython.Build import cythonize
ModuleNotFoundError: No module named 'Cython'
make: *** [all] Error 1
说明需要安装cython依赖库,pip安装即可:
pip install Cython
然后继续执行make,make成功之后,将protobuf拷贝到tensorflow的models的research目录。
cp -r pycocotools <path_to_tensorflow>/models/research/
4.Protobuf Compilation & Add Libraries to PYTHONPATH
TensorFlow Object Detection API使用Protobufs去配置模型和训练参数,所以必须编译好protobufs才能正常使用框架。可以在research文件夹下通过如下方式进行编译:
# tensorflow/models/research/
protoc object_detection/protos/*.proto --python_out=.
可能会报错:
-bash: protoc: command not found
如果没有安装protoc,需要去安装。
brew install protobuf
安装后重新用protoc编译,成功后可以看到tensorflow/models/research/
object_detection/protos/下生成了对应的文件:
在终端输入:
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
为了以后也生效,不是临时配置,可以把上面这句话加入到~/.bash_profile中去。(注意:终端一定要输入一次上述语句,不然会报错No module name “nets”)
在终端中输入:
open .bash_profile
在.bash_profile文件最后添加:
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
5.测试安装:
#tensorflow/models/research/
python object_detection/builders/model_builder_test.py
可能会出现“No module name “XXX” "的报错,用pip install安装即可
最后成功会显示OK:
6.测试官方示例:
在终端输入:
jupyter-notebook
在Jupyter中打开Object_detection/object_detection_tutorial,因为我们的tensorflow环境是在Anaconda中的其中一个环境搭建的,所以要先在jupyter中新建一个kernel:
1.首先,在anaconda中切换到tensorflow环境下,确认是否安装了ipykernel这个包,如果没有则安装。
2.在这个环境下输入一下命令:
#XXX为kernel的名字,最好与环境名相同
python -m ipykernel install --name XXXX
之后便能在jupyter的kernel中找到新建的kernel,在此下点击Run>>Run ALL 即可运行官方示例:
因为安装的是tensorflow-cpu版本,不是gpu版本所以第一次跑可能会比。。较。。慢。。。(搭了那么久环境可以休息等会儿了。。。)
这个环境我搭了可能有三遍,遇到了各种坑,甚至遇到搭好的环境隔一天python版本忽然从3.6变成2.7的诡异事件,希望这次搭好后不要再出错了!!!