本篇博客参考的:
https://blog.csdn.net/xulei_Tao/article/details/88973703
根据自己的环境修改了一些细节部分
本博客系统环境已经搭建好CUDA9.0+CUDNN+Anaconda3+显卡驱动的安装,没有安装的参考:
https://blog.csdn.net/qq_36414085/article/details/89646471
一、虚拟环境的搭建
为了方便系统的干净,搭建一个虚拟环境来进行 tensorflow objection api ,
conda虚拟环境的常见操作:https://blog.csdn.net/qq_36414085/article/details/90046052
1、创建虚拟环境
conda create -n user_obj python=3.6
其中user_obj为自定义的虚拟环境名字
2、进入虚拟环境
source activate user_obj
3、安装依赖包
依次安装下面依赖包,都要在刚刚创建的虚拟环境下进行
sudo apt-get install protobuf-compiler python-pil python-lxml python-tk
conda install Cython
conda install jupyter
conda install matplotlib
conda install tensorflow-gpu==1.12.0
二、安装Tensorflow Object Detection API
1、下载模型
https://github.com/tensorflow/models.git
2、protobuf 的编译
先在终端输入protoc --version
查看版本,没有的话安装:
conda install protobuf=3.6
解压刚刚下载的模型,进入到 …/models-master/research 文件夹,终端输入:
source activate user_obj
protoc object_detection/protos/*.proto --python_out=.
得到以上结果
3、安装 tensorflow model 以及 slim
/models/research 文件夹下打开终端,同样要进入刚刚创建的虚拟环境内
source activate user_obj
python setup.py install
切换到 …/models-master/research/slim 文件夹下打开终端,同样要进入刚刚创建的虚拟环境内
source activate user_obj
python setup.py install
4、添加环境变量
还是 …/models/research 文件夹下打开终端,同样要进入刚刚创建的虚拟环境内
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
或者 gedit ~/.bashrc
在文件末尾添加改语句。然后 source ~/.bashrc
激活。
5、测试
解压刚刚下载的模型,进入到 …/models-master/research 文件夹,终端输入:
source activate user_obj
python object_detection/builders/model_builder_test.py
结果:
三、官方模型的测试
进入到 …/models-master/research/object_detection文件夹,终端输入:
source activate user_obj
jupyter notebook
然后弹到这个界面:
点击进入这个文件:object_detection_tutorial.ipynb
然后一直点运行,直到结尾,等待一段时间,出现:
#模型的下载 https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md
#IOU参数的设置。
https://github.com/clovking/tensorflow-object-detection-API-instruction
/home/user/anaconda3/envs/user_obj/lib/python3.6/site-packages/object_detection-0.1-py3.6.egg/object_detection/utils/object_detection_evaluation.py
INFO:tensorflow:Found already evaluated checkpoint. Will try again in 300 seconds
#设置model.ckpt保存的周期
/home/user/anaconda3/envs/user_obj/lib/python3.6/site-packages/tensorflow/contrib/slim/python/slim/learning.py
第551行 save_interval_secs=600,600代表600s,10分钟,修改成想要的时间
FROM tensorflow/tensorflow:1.6.0
RUN apt-get update \
&& apt-get install -y python-tk protobuf-compiler python-lxml git\
&& pip install Cython \
&& pip install git+https://github.com/crowdai/coco.git#subdirectory=PythonAPI
COPY . /tensorflow/models
RUN cd /tensorflow/models \
&& protoc object_detection/protos/*.proto --python_out=. \
&& python setup.py sdist \
&& (cd slim && python setup.py sdist)
ENV PYTHONPATH=$PYTHONPATH:/tensorflow/models:/tensorflow/models/slim