近来在学习deeplearning,在做目标检测(object detection)的研究时,发现tensorflow今年发布了自带的 目标检测API,可以说是非常方便的工具了。

由于作者是linux系统小白,在调试过程中出现两个问题,现记录如下,供遇到问题的同学参考:

1.使用annaconda安装的tensorflow文件在哪里

2.如何正确安装好tensorflow的object detection API

首先我们下载好object 的detection API,放在路径"/work/test"下。

问题1:

首先解决第一个问题,按照官方文档中安装的步骤,我们首先要小弟我首先尝试使用`find tensorflow`发现并不能找到tensorflow的文件地址,原因是因为我们在安装tensorflow时,是使用anaconda安装的环境,它被藏在`.conda`这个隐藏文件的下面,所以输入

cd .conda/envs/tensorflow/
就能够进入tensorflow的文件夹了,在安装这个API前我们需要将下载好的zip文件复制到tensorflow文件夹下,指令:

cp /home/test/models-master.zip /home/test/.conda/envs/tensorflow
其实不需要一个字母一个字母的敲,可以灵活使用`tab`。

复制完文件后使用`unzip`指令将文件解压

unzip models-master.zip
并重命名为models(下面的文件都是使用models的名称)

mv models-master models


问题2:

如何install tensorflow的od API可以在官方文档中找到,如果嫌弃小弟写得不明白可以去官方文档中阅览更详实的说明,这里补一句话:因为我们的tensorflow是安装在anaconda下的,所以在安装python的依赖库时,都需要先`source activate tensorflow`,然后`pip install XXX`,比如我们在安装API前需要先安装matlibplot等依赖库,官方的文档中是这样解释的:

`The Tensorflow Object Detection API uses Protobufs to configure model and training parameters. Before the framework can be used, the Protobuf libraries must be compiled. This should be done by running the following command from the tensorflow/models directory`

大概的意思就是:我们的这个API使用Protobufsl来配置模型和训练的参数,在这个框架可以被使用之前,我们需要编译Protobuf库,因此应该在models的目录下,使用以下指令:

sudo apt-get install protobuf-compiler python-pil python-lxml

pip install pillow
pip install lxml
pip install jupyter
pip install matplotlib
然后我们编译protobuf
protoc object_detection/protos/*.proto --python_out=.
很快,编译完成,我们需要将这个以来库加入python的环境变量中:

使用指令打开bashrc:

sudo vim ~/.bashrc
在文档的最后输入:

export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
最后进行测试,在tensorflow的 models文件夹下输入:

python object_detection/builders/model_builder_test.py
会出来这样的结果:


如果测试通过,会出现以上的结果。至此,tensorflow的object detection API安装成功。








Logo

更多推荐