加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

用PaddlePaddle 实现方针检测使命——Paddle Fluid v1.1深度测评

发布时间:2018-12-12 17:33:04 所属栏目:移动互联 来源:睿博远航
导读:【51CTO.com原创稿件】 1.媒介 11月1日,百度宣布了Paddle Fluid的1.1版本,作为海内首个深度进修框架,PaddlePaddle对中文社区很是友爱,有完美的中文社区、项目为导向的中文教程,可以让更多中文行使者更利便地举办深度进修、呆板进修相干的研究和实践。

关于PaddlePaddle计较描写的详情可以参考Fluid编程指南:http://www.paddlepaddle.org/documentation/docs/zh/1.1/beginners_guide/programming_guide/programming_guide.html

3.3PaddlePaddle的模子库简介

PaddlePaddle的焦点框架内置了很是多的经典模子和收集,涵盖了险些全部主流的呆板进修/深度进修使命,包罗图像、语音、天然说话处理赏罚、保举等诸多方面。由于本文是做方针检测,以是首要调研了一下图像方面的模子库,在此大抵先容一下。

3.3.1分类

分类使命中的模子库是最全面的,AlexNet、VGG、GoogleNet、ResNet、Inception、MobileNet、Dual Path Network以及SE-ResNeXt,2012年以来的经典图像辨认收集都包括个中,每个收集模子是一个独立的py文件,内里是这个收集模子的类,类内里公用的要领是net(),在挪用时初始化对应的类之后挪用.net()要领,就可以获得对应收集的Program描写,之后只必要给收集feed数据、界说丧失函数、优化要领等就可以轻松行使了。分类模子作为图像使命的基本使命,在方针检测、语义支解等使命中城市一再操作这些模子,以是这样一个模子库可觉得大大简化后续使命的开拓事变。这部门的模子库里的写法较量同一,只要相识收集布局,用.net()要领挪用就可以,这里就纷歧一先容了,详细可以参考:https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/image_classification/models。

3.3.2方针检测

SSD

Single Shot MultiBox Detector (SSD) 是一种单阶段的方针检测器。与两阶段的检测要领差异,单阶段方针检测并不举办地区保举,而是直接从特性图回归出方针的界线框和分类概率。SSD 运用了这种单阶段检测的头脑,而且对其举办改造:在差异标准的特性图上检测对应标准的方针。如下图所示,SSD 在六个标准的特性图长举办了差异层级的猜测。每个层级由两个3x3卷积别离对方针种别和界线框偏移举办回归。因此对付每个种别,SSD 的六个层级一共会发生 38x38x4 + 19x19x6 + 10x10x6 + 5x5x6 + 3x3x4 + 1x1x4 = 8732 个检测功效。

用PaddlePaddle 实现方针检测使命——Paddle Fluid v1.1深度测评

SSD 方针检测模子

SSD 可以利便地插入到任何一种尺度卷积收集中,好比 VGG、ResNet 可能 MobileNet,这些收集被称作检测器的基收集。PaddlePaddle里的SSD行使Google的MobileNet作为基收集。

方针检测模子库差异于分类模子库,PaddlePaddle是以一个工程的情势提供SSD的模子库。工程内里包括如下文件:

用PaddlePaddle 实现方针检测使命——Paddle Fluid v1.1深度测评

个中,train.py、reader.py、mobilenet_ssd.py是与收集实习相干的文件,包罗数据读取、收集布局、实习参数等进程的界说都在这3个文件中;eval.py、eval_coco_map.py是收集猜测评估相干文件;infer.py是可视化猜测功效相干文件。Data文件夹用于存储数据集,行使时可以把实习集、测试集、验证集放在data目次下,reader会在data目次下探求图片数据加载;pretrained目次存放预实习模子,假如不想从新实习一个SSD,可以把预实习好的模子放在这个目次下,利便举办迁徙进修。

4.PaddlePaddle实现SSD的方针检测

有了上述的一些基本,我们就可以轻松行使PaddlePaddle上手一些项目了。此刻我们就来实现一个基于SSD的方针检测使命。

4.1处事器设置

体系:Ubuntu 16.04

GPU:NVIDIA GTX 1080*4 显存:8GB

情形:python 3.5

4.2框架设置

Paddle Fluid v1.1 GPU版本

4.3数据筹备

我们行使微软的COCO2017数据集来预实习模子(PaddlePaddle提供了一个基于COCO的预实习模子,可以直接行使),COCO数据集是微软团队获取的一个可以用来图像recognition+segmentation+captioning 数据集,其官方声名网址:http://mscoco.org/。微软在ECCV Workshops里颁发文章《Microsoft COCO: Common Objects in Context》更充实地先容了该数据集。COCO以场景领略为方针,从伟大场景中截取了328,000张影像,包罗了91类方针和2,500,000个label。整个COCO2017数据集20G,官网下载很是慢,可以在海内找一些镜像站下载,数据集里分好了实习集、测试集和验证集,标注和file_list用json文件生涯。

用PaddlePaddle 实现方针检测使命——Paddle Fluid v1.1深度测评

拿到预实习数据集后,我们在Pascal VOC数据集上对模子举办进一步实习,做一下微调。Pascal VOC数据集相较COCO数据集来说图片数目和种类小许多,共计20类,11540张实习图片,标注回收xml名目文件生涯。

4.4数据读取

图片名目为jpg,必要对图像举办转码读取,SSD中的reader.py文件辅佐我们实现了这个成果,内置的数据读取行使了一个天生器来逐个batch读取图片并转码,这样内存占用率很是低。因为我们呆板内存不大,配置的batch为32,在此环境下load十万张图片的annotation只必要17秒阁下,每一个batch的load+train时刻只必要0.3秒阁下。

用PaddlePaddle 实现方针检测使命——Paddle Fluid v1.1深度测评

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读