win10下搭建object_detection模型调用环境

win10下搭建object_detection模型调用环境

  • 安装所需软件/库
  • Step1. 安装vs2015,CUDA 10.0和cuDNN 7.6
  • Step2. 安装tensorflow-gpu
  • Step3. 图像检测环境搭建
  • Step4. 运行测试文件

参考资料:

  • How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows 10

安装所需软件/库

  • vs2015;
  • Anaconda3;
  • CUDA 10.0;
  • cuDNN 7.6;

Step1. 安装vs2015,CUDA 10.0和cuDNN 7.6

vs2015的安装就不赘述了,Anaconda3、CUDA和cuDNN的安装可参考cmake编译opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015。
注意,先安装vs2015,再安装后续软件。

Step2. 安装tensorflow-gpu

打开 Anaconda Prompt 命令窗口(图标已经被玩坏,正常应该像cmd命令窗口图标):

win10下搭建object_detection模型调用环境_第1张图片
创建虚拟空间。
输入如下命令,创建一个名为 tensorflow_gpu 的虚拟空间,中途有需要选择是否安装某些库,输入 y 然后回车:

conda create -n tensorflow1 pip python=3.7

win10下搭建object_detection模型调用环境_第2张图片
创建成功之后,可以在 D:\Anaconda3\envs 目录下看到刚才创建的虚拟空间:

win10下搭建object_detection模型调用环境_第3张图片
在命令窗口输入如下命令,激活虚拟空间:

activate tensorflow_gpu

安装 tensorflow-gpu

pip install tensorflow-gpu==1.13.1 -i https://pypi.tuna.tsinghua.edu.cn/simple

该命令的后半部分:

-i https://pypi.tuna.tsinghua.edu.cn/simple

表示使用清华开源镜像进行下载,可以提高文件下载速度。如果对自己的网速有信心,也可以不加这部分命令。

win10下搭建object_detection模型调用环境_第4张图片
输入以下命令,查看 tensorflow-gpu 是否成功安装:

conda list

如果如下图所示,则说明安装成功。

win10下搭建object_detection模型调用环境_第5张图片
tensorflow-gpu 安装成功后,我们可以输入:

python

进入 python 命令行,然后执行下面的一小段程序,来进一步验证 tensorflow 安装是否成功:

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

win10下搭建object_detection模型调用环境_第6张图片
如果系统输出以下红框所示内容,说明可以用 python 编写 tensorflow 程序了:

win10下搭建object_detection模型调用环境_第7张图片
到此,tensorflow 的基本环境配置完成!

Step3. 图像检测环境搭建

在D盘根目录下新建一个名为 tensorflow_gpu 的文件夹:

win10下搭建object_detection模型调用环境_第8张图片
接着进入 tensorflow models下载页(点此链接),下载模型。如果 github 网站下载慢,也可以进入我的网盘下载:tensorflow models。

win10下搭建object_detection模型调用环境_第9张图片
将下载的 models-master.zip 解压到刚创建的 D:\tensorflow_gpu 目录下,并把文件夹的名字改为 models,如下图所示:

win10下搭建object_detection模型调用环境_第10张图片
回到 Anaconda Prompt 命令窗口,开始配置环境。
首先输入以下命令,退出 python

exit()

如果窗口已经关闭,需要重新打开,然后激活 tensorflow_gpu 虚拟空间即可。

接着安装如下依赖包:

conda install -c anaconda protobuf

中间出现提问是否安装某些库,输入 y 然后回车。

win10下搭建object_detection模型调用环境_第11张图片

继续安装依赖库:

pip install pillow lxml Cython jupyter matplotlib pandas opencv-python

win10下搭建object_detection模型调用环境_第12张图片

以上依赖库都安装完成后,添加系统环境变量 PYTHONPATH
先从C盘转到D盘,在命令窗口中输入:

D:

然后设置路径:

set PYTHONPATH=D:\tensorflow_gpu\models;D:\tensorflow_gpu\models\research;D:\tensorflow_gpu\models\research\slim

将路径添加到系统环境变量中:

set PATH=%PATH%;PYTHONPATH

这样,环境变量就设置好了。
我们可以通过输入以下语句来确认环境变量是否设置成功。
先输入:

echo %PATH%

再输入:

echo %PYTHONPATH%

出现下图所示结果,则说明环境变量添加成功。

win10下搭建object_detection模型调用环境_第13张图片

接下来,我们要做的是编译 Protobuf 文件。
由于 proto 文件不能直接在Windows下被调用,所以需要做如下变换:
首先需要将路径变为 D:\tensorflow_gpu\models\research,在 Anaconda Prompt 命令窗口中输入:

cd tensorflow_gpu\models\research

然后输入命令:

protoc --python_out=. .\object_detection\protos\anchor_generator.proto .\object_detection\protos\argmax_matcher.proto .\object_detection\protos\bipartite_matcher.proto .\object_detection\protos\box_coder.proto .\object_detection\protos\box_predictor.proto .\object_detection\protos\eval.proto .\object_detection\protos\faster_rcnn.proto .\object_detection\protos\faster_rcnn_box_coder.proto .\object_detection\protos\grid_anchor_generator.proto .\object_detection\protos\hyperparams.proto .\object_detection\protos\image_resizer.proto .\object_detection\protos\input_reader.proto .\object_detection\protos\losses.proto .\object_detection\protos\matcher.proto .\object_detection\protos\mean_stddev_box_coder.proto .\object_detection\protos\model.proto .\object_detection\protos\optimizer.proto .\object_detection\protos\pipeline.proto .\object_detection\protos\post_processing.proto .\object_detection\protos\preprocessor.proto .\object_detection\protos\region_similarity_calculator.proto .\object_detection\protos\square_box_coder.proto .\object_detection\protos\ssd.proto .\object_detection\protos\ssd_anchor_generator.proto .\object_detection\protos\string_int_label_map.proto .\object_detection\protos\train.proto .\object_detection\protos\keypoint_box_coder.proto .\object_detection\protos\multiscale_anchor_generator.proto .\object_detection\protos\graph_rewriter.proto

如下图所示:

win10下搭建object_detection模型调用环境_第14张图片

以上命令执行结束,会产生如下两个 _pb2.py 文件:

win10下搭建object_detection模型调用环境_第15张图片
Protobuf 文件编译结束,我们可以开始编译安装需要测试的项目。
输入如下两句命令进行项目的编译和安装:

  • 项目编译生成:
python setup.py build

win10下搭建object_detection模型调用环境_第16张图片

  • 项目安装:
python setup.py install

win10下搭建object_detection模型调用环境_第17张图片

项目的编译安装完成后,我们还需要给模型的路径做一下配置。
打开 D:\Anaconda3\Lib\site-packages 文件夹,在该文件夹下新建一个 .txt 文件,内容编辑为:

D:\tensorflow_gpu\models\research
D:\tensorflow_gpu\models\research\slim

如下图所示:

win10下搭建object_detection模型调用环境_第18张图片
然后将该 .txt 文件重新命名为 model_path.pth,如下图所示:

win10下搭建object_detection模型调用环境_第19张图片
以上,图像检测环境搭建完毕!

Step4. 运行测试文件

首先进入 object_detection 目录,在刚才未关闭的 Anaconda Prompt 命令窗口中输入 :

cd object_detection

使用 Jupyter 打开测试文件 object_detection_tutorial.ipynb,命令如下:

jupyter notebook object_detection_tutorial.ipynb

win10下搭建object_detection模型调用环境_第20张图片

这时,会打开一个网页版的 python 调试工具,每点击下图红框部分的 Run一下,选中的代码将会往下移动一段,同时 In 后面方括号中数字将会变成星号,比如:In [0] → \rightarrow In [*] ,表示当前代码段正在运行;星号变回数字,则表示当前代码段运行完成。有些代码段需要下载模型,或者运算的时间较长,需要耐心等待。

win10下搭建object_detection模型调用环境_第21张图片
代码段运行到 Imports 部分时,可能会出现以下错误:

win10下搭建object_detection模型调用环境_第22张图片
解决办法是将出错部分的代码注释掉(在代码前添加#号)。
即,将以下两句代码

if tf.__version__ < '1.4.0':
   raise ImportError('Please upgrade your tensorflow installation to v1.4.* or later!')

改为

#if tf.__version__ < '1.4.0':
#   raise ImportError('Please upgrade your tensorflow installation to v1.4.* or later!')

如下图所示:

win10下搭建object_detection模型调用环境_第23张图片
之前的错误不再出现,一直点击Run直到代码段结尾,等待星号变成数字即可。第一次所有代码段运行结束,可能还不会显示识别结果,如下图所示,最后一段代码段的星号已经变成数字,但是没有显示结果图:

win10下搭建object_detection模型调用环境_第24张图片

我们需要重新回到第一段代码的位置,先点击选择代码段,然后再像之前一样,一下一下地点击Run运行后面的代码段,直到代码结尾处:

win10下搭建object_detection模型调用环境_第25张图片
耐心等待程序运行,出现下图检测结果,证明模型安装成功!

win10下搭建object_detection模型调用环境_第26张图片
object_detetion模型调用环境搭建完毕!

你可能感兴趣的:(深度学习)