首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Windows下TensorFlow+Faster Rcnn 详细安装步骤(二)

上一篇推文详细介绍了Windows系统下TensorFlow框架的搭建,这篇将继续介绍Faster RCNN算法框架的搭建安装。

先把本篇demo运行结果放上来:

实现步骤也很简单,实现流程如下:

1.安装前准备:

安装前请确保TensorFlow和相关的依赖库安装成功

2.下载 faster rcnn程序包

解压,然后可以看一下里面的readme

3.安装python依赖库

注意还是要在TensorFlow虚拟环境下安装,命令:

pip install cython

pip install python-opencv

pip install easydict

如果在安装python-opencv时失败,提示找不到相关的库,可以换一种安装方式:

在这个网站上

http://www.lfd.uci.edu/~gohlke/pythonlibs/ 查找OpenCV,如下图,选择python3.5版本的,且与自己电脑系统匹配的安装包下载。

然后使用命令安装:

pip install C:\Users\master\Downloads\opencv_python-3.4.2-cp35-cp35m-win_amd64.whl

4.编译:

在cmd中使用cd命令到解压后的文件夹下../data/coco/PythonAPI目录下,执行以下代码:

python setup.py build_ext --inplace

python setup.py build_ext install

执行时如果报错 Unable to find vcvarsall.bat,建议安装visual studio 2015,安装时默认的语言是C#和VB,需要把C++也勾上。

附python版本与C++编译器版本对应关系图:

所以,VS2015必不可少

如果已经安装了VS 2015,检查VS安装目录下是否有vcvarsall.bat文件,例如我的路径为:D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC,如果没有此文件,表明安装时是默认安装的,还缺少C++编译文件,这个时候可以打开VS,新建项目,语言选择C++,此时VS会让你安装一个工具,安装后就好了。

5.下载VOC2007格式的数据集

http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar

http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar

http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar

将下载后的三个压缩包解压到同一个文件夹下,以WinRAR为例,同时选中三个压缩包,右键,然后选择解压到当前文件夹

可以得到VOCDevkit文件夹,将VOCDevkit重命名为VOCDevkit2007,然后将这个文件夹拷贝到你自己的Faster-RCNN中data目录下

6.下载预训练的VGG16网络模型:

下载地址:http://download.tensorflow.org/models/vgg_16_2016_08_28.tar.gz

下载之后解压,文件重命名为vgg16.ckpt,新建文件夹imagenet_weights,把vgg16.ckpt放到imagenet_weights下,再将imagenet_weights文件夹拷贝到data文件夹下,

这样,VGG16网络模型的地址应该类似于这样:../data/imagenet_weights/vgg16.ckpt

7.训练模型:

在faster rcnn目录下运行命令

python train.py

OK,搞定,这时候,就是在用VOCDevkit2007下的示例图片训练分类模型了。第一次运行时可能会报错说找不到matplotlib,scipy,PIL(对应的是pillow库)等,安装这些库就好了。另外,不管是CPU版本还是GPU版本的TensorFlow,建议是使用较低版本的,比如1.3。使用anaconda的好处就是,你随时可以新建一个虚拟环境,重新安装配置TensorFlow,不用去管python环境了。

模型训练结束后,

在 ..\default\voc_2007_trainval\default目录下可以看到训练的模型

默认每5000次保存,一共迭代40000次(max_iters),这些在config.py中可以自己设置。

9.运行demo

在运行demo.py前在编辑器中对demo.py作些更改

这句代码指向训练模型结果,但实际是不存在的,需要我们新建文件夹,并且拷贝上一步生成的模型到该文件夹下,为了简化,直接把这句代码替换成自己的路径即可,例如:

tfmodel=r'D:\FasterRCNN\output\vgg16\voc_2007_trainval\default\vgg16_faster_rcnn_iter_40000.ckpt'

注意后缀是ckpt,关于tensorflow生成的ckpt模型,大家可以自行查阅相关的参考资料,这里简单介绍一下,ckpt模型实际包含三个部分,ckpt.meta保存graph结构,ckpt.index是一个string-string table,ckpt.data保存模型的所有变量值

另外,找到def parse_args()函数,输入的参数中net默认是res101,dataset默认是pascal_voc_0712,实际上我们用的网络模型是vgg16,数据集是pascal_voc,改成下面这样:

然后,就可以运行了,执行代码:

python demo.py

这样就能得到文章开头的结果了。

若还有疑问,欢迎加群交流~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180822G13Y7S00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券