您的位置:首页 > 移动开发 > Objective-C

Tensorflow object detection API 搭建属于自己的物体识别模型(1)——环境搭建与测试

2018-01-17 11:22 1031 查看
https://blog.csdn.net/dy_guox/article/details/79111949

后续博客地址(附带视频教程)
--------------------------------------------------------------------------------------------------

最近对深度学习比较感兴趣,看了网上很多资料,尝试了一下Tensorflow object detection API,想要在自己的数据集上调用API完成识别,积累了不少经验,记录下来,以后给需要的人。

1.开发环境搭建

在自己笔记本上完成。
操作系统:windows 10  64位
内存:8G
GPU:Nvidia MX 150
Tensorflow: 1.4

(1) 安装python

建议选择 Anaconda3-5.0.1 版本,已经集成大多数库,并将其作为默认python版本(3.6.3),配置好环境变量(Anaconda安装则已经配好)

(2)安装Tensorflow

Tensorflow有CPU版本与GPU版本,首先安装CPU版本。采用pip原生安装。“开始-Anaconda3-Anaconda Prompt”调出命令行。
pip install --upgrade tensorflow然后安装GPU版本。此过程中有报错,先运行conda install pip更新pip程序即可。

pip install --upgrade tensorflow-gpu当然也可以在Anaconda中新建一个虚拟环境进行安装,详见  https://www.tensorflow.org/install/install_windows对于GPU版本,需要安装如下软件:
1)CUDA® Toolkit 8.0, 需要注意最新版9.1不支持tensorflow 1.4版本;
2) cuDNN v6.0,7.0不支持tensorflow 1.4版本,现在cuDNN需要先注册成为NVIDIA开发者,下载后将cuDNN中对应文件夹下的.dll文件分别复制到CUDA安装目录对应文件夹下;
3) 对应的显卡驱动,如果驱动较新,在安装CUDA的时候会有提示可能不兼容,可以无视。

要测试Tensorflow 是否安装成功,打开命令行,首先激活python
开始-Anaconda3-Anaconda Prompt,输入'python',然后逐行输入下面的文字

>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))当输出下面这行字,说明安装成功。Hello, TensorFlow!


(3)下载Tensorflow object detection API 

https://github.com/tensorflow/models
从github上下载项目(右上角“Clone or download”-"DownloadZIP"),下载到本地目录(避免中文),解压。

(4)Protobuf 安装与配置

https://github.com/google/protobuf/releases  网站中选择windows 版本(最下面),解压后将bin文件夹中的【protoc.exe】放到
C:\Windows

在models\research\目录下打开命令行窗口,输入:
# From tensorflow/models/
protoc object_detection/protos/*.proto --python_out=.在这一步有时候会出错,可以尝试把/*.proto 这部分改成文件夹下具体的文件名,一个一个试,每运行一个,文件夹下应该出现对应的.py结尾的文件。不报错即可

(5)PYTHONPATH 环境变量设置

在 ‘此电脑’-‘属性’- ‘高级系统设置’ -‘环境变量’-‘系统变量’ 中新建名为‘PYTHONPATH’的变量,将
models/research/ 及 models/research/slim 两个文件夹的完整目录添加,分号隔开,效果如下图:



接下来可以测试API,在 models/research/ 文件夹下运行命令行:

python object_detection/builders/model_builder_test.py

不报错说明运行成功。

2.测试自带案例

“开始-Anaconda3-Anaconda Prompt”调出命令行,改变工作目录至 models\research\object_detection



然后输入jupyter notebook,就会调用浏览器(Chrome)打开当前文件夹,点开 object_detection_tutorial.ipynb,
在新标签页中打开 Object Detection Demo,点击上方的 “Cell”-"Run All",


就可以直接看到结果,最后输出的是两张图片的识别结果,分别是狗,以及沙滩。第一次运行由于需要下载训练好的模型,耗时较长。第二次之后可以将 .ipynb文件中 Download Model 即 in[5]部分的代码注释掉,以加快运行速度。





如果在notebook中运行有问题,可以将.ipynb中in[]的代码复制到.py中,然后在 开始-Anaconda3-spyder 中运行。
至此Tensorflow object detection API 的环境搭建与测试工作完成。

下一步我们可以在此基础上对代码进行适当的修改,可以用已有的模型来检测自己的图片,甚至视频,并输出结果。
在进一步,可以用自己标注的数据集进行训练与评估。这些内容将在后续的博客中呈现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息