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

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

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

【51CTO.com原创稿件】

1.媒介

11月1日,百度宣布了Paddle Fluid的1.1版本,作为海内首个深度进修框架,PaddlePaddle对中文社区很是友爱,有完美的中文社区、项目为导向的中文教程,可以让更多中文行使者更利便地举办深度进修、呆板进修相干的研究和实践。我本人也很是但愿PaddlePaddle可以或许不绝成长壮大,事实这是海内公司为开源社区做出的一项很是故意义的孝顺。为了一探Paddle Fluid 1.1版本毕竟做了哪些方面的更新,笔者第一时刻安装了新宣布的版本,用一个基于SSD的方针检测使命来测试一下新版PaddlePaddle的示意。

2.什么是方针检测

图像辨认对付做视觉的同窗来说应该是一个很是认识的使命了,最初深度进修就是是应用于图像辨认使命的,举例来说,给计较机一张汽车图片,让它判定这图片里有没有汽车。

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

对付配景干净的图片来说,这样做很故意义也较量轻易。可是假如是一张包括富厚元素的图片,不只辨认难度大大进步,仅仅判定出内里有没有图片的意义也不大了,我们必要找到到底在读片的什么位置呈现了一辆汽车,这就提出了一个新的使命和需求——方针检测。

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

我们的使命就是给定一张图像或是一个视频帧,让计较机找出个中全部方针的位置,并给出每个方针的详细种别。对付人类来说,方针检测是一个很是简朴的使命。然而,计较性可以或许“看到”的是图像被编码之后的数字,很难明图像或是视频帧中呈现了人或是物体这样的高层语义观念,,也就越发难以定位方针呈此刻图像中哪个地区。

与此同时,因为方针会呈此刻图像或是视频帧中的任何位置,方针的形态变化多端,图像或是视频帧的配景千差万别,诸多身分都使得方针检测对计较机来说是一个具有挑衅性的题目。今朝主流的要领是FasterRCNN、YOLO和SSD,本文行使SSD举办尝试。

3.PaddlePaddle简介

第一次听到PaddlePaddle是在CCF前列研讨会上,其时几小我私人聊起来关于呆板进修算法平台的工作,有一位小搭档提起了这个名字,以是一段时刻以来我一向以为这是一个呆板进修算法平台。直到16年百度开源了PaddlePaddle我才知道,原本这是一个可以跟TensorFlow媲美的深度进修框架,主打“易用、高效、机动、可扩展”。以是,简朴来说,PaddlePaddle就是百度自研的一套深度进修框架(看过宣布会后相识到,百度为此成立了一套包围面很是广的生态,包罗金融、保举、决定等,但笔者首要是对PaddlePaddle的焦点框架举办测评,不在此挥霍过多文字了)。

3.1怎样安装

笔者的事变站是Ubuntu 16.04体系,PaddlePaddle在CentOS和Ubuntu都支持pip安装和docker安装,GPU版本在Linux下也可以美满适配。下面来看一下详细的安装步调。

起首我们行使cat /proc/cpuinfo | grep avx2来查察我们的Ubuntu体系是否支持avx2指令集,假如发明体系返回了如下一系列信息,就声名体系是支持avx2指令集的,可以安心举办后续安装。假如不支持也不要紧,在官网上可以直接下载no_avx的whl包举办安装。

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

接下来行使pip安装最新的Fluid v1.1版本的PaddlePaddle(GPU),在安装前留意,必要在呆板上安装python3.5-dev才可以用pip安装PaddlePaddle。下载速率会较量慢,必要20分钟阁下的下载时刻。

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

安装完成后,在python里import paddle测试一下,假如乐成导入则声名安装乐成!

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

在更新的Paddle Fluid v1.1版本中还特意优化了对MacOS的支持,可以直接通过pip安装,也可以用源码编译安装。详细细节可参考:http://www.paddlepaddle.org/documentation/docs/zh/1.1/beginners_guide/install/Start.html

3.2PaddlePaddle的计较描写方法

框架的计较描写方法是深度进修项目开拓者很是存眷的一个题目。计较的描写方法经验了从Caffe1.0期间的一组持续执行的layers到TensorFlow的变量和操纵组成的计较图再到PaddlePaddle Fluid[1]提出不再有模子的观念一系列的演变。那么PaddlePaddle此刻是怎么描写计较的呢?

PaddlePaddle行使Program来描写模子和优化进程,可以把它简朴领略为数据流的节制进程。Program由Block、Operator和Variable组成,variable和operator被组织成为多个可以嵌套的block。详细的,假如要实现一个神经收集,我们只必要通过添加须要的variable、operator来界说收集的前向计较,而反向计较、内存打点、block建设都由框架来完成。下面展示一下如安在PaddlePaddle中界说program:

以一个简朴的线性回归为例,我们这样界说前向计较逻辑:

#界说输入数据范例

x = fluid.layers.data(name="x",shape=[1],dtype='float32')

#搭建全毗连收集

y_predict = fluid.layers.fc(input=x,size=1,act=None)

界说好计较逻辑后,与TensorFlow一样,下一步就必要界说丧失函数,feed数据,开始实习,feed数据也是在执行运算的时辰举办,我们先界说一下数据,这里train_data 就是我们的输入数据,y_true是label:

train_data=numpy.array([[1.0],[2.0],[3.0],[4.0]]).astype('float32')

y_true = numpy.array([[2.0],[4.0],[6.0],[8.0]]).astype('float32')

添加均方偏差丧失函数(MSE),框架会自动完成反向计较:

cost = fluid.layers.square_error_cost(input=y_predict,label=y)

avg_cost = fluid.layers.mean(cost)

(编辑:河北网)

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

热点阅读