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

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!

 

要测试是否启用了GPU加速,可以用以下两行代码测试:

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

会有如下输出,

Sample Output

[name: "/cpu:0" device_type: "CPU" memory_limit: 268435456 locality { } incarnation: 4402277519343584096,

name: "/gpu:0" device_type: "GPU" memory_limit: 6772842168 locality { bus_id: 1 } incarnation: 7471795903849088328 physical_device_desc: "device: 0, name: GeForce GTX 1070, pci bus id: 0000:05:00.0" ]

如果有GPU的信息,说明GPU加速已经启用。

 

 
(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 的环境搭建与测试工作完成。

 

下一步我们可以在此基础上对代码进行适当的修改,可以用已有的模型来检测自己的图片,甚至视频,并输出结果。

在进一步,可以用自己标注的数据集进行训练与评估。这些内容将在后续的博客中呈现。

转自:https://blog.csdn.net/dy_guox/article/details/79081499
 

你可能感兴趣的:(神经网络)