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

DLP教程系列之图像分类:(2)网络搭建

深度学习平台(DLP)软件是一个用于深度学习应用开发的免编程软件平台,致力于为广大深度学习应用开发者打造一个高效并且具备良好用户体验的开发工具。DLP软件可前往DLP官网免费下载: www.ai-dlp.com

本教程将以图形分类任务为切入口,给大家展示如何使用DLP一步一步地开发一个图像分类的应用。本文将介绍如何利用DLP搭建一个卷积神经网络。

1.DLP网络搭建界面介绍

启动DLP后,切换到“Net”页面,将会看到下面的界面:

网络搭建模块与数据处理界面布局类似,主要由功能栏、网络组件库、组件设定区、以及网络搭建区域组成。

“SetDir”(设定工作路径)按钮,选择一个文件夹作为工作路径,之后在DLP里导入或导出数据都将会以此路径作为默认起始路径。

“NewFile”(创建新文件)按钮,点击该按钮,网络搭建区域中的内容将会被完全清除。

“Import”(导入网络)按钮,点击该按钮,将会弹出一个对话框,用户在对话框中选择网络描述文件。导入之后,将会在网络搭建区域显示相应的网络结构。

“Export”(导出网络)按钮,点击该按钮,将会弹出一个对话框,用户可将当前的网络内容保存至相应的网络描述文件,以便下次导入。

“Pan”(平移)按钮,选中该按钮,在网络搭建区域拖拽鼠标,则可平移区域中的网络。该功能也可通过按住鼠标右键并拖拽实现。

“Zoom”(放缩)按钮,选中该按钮,在网络搭建区域拖拽鼠标,则可放大或缩小网络图。该功能也可通过滚动鼠标滚轮实现。

“Focus”(聚焦)按钮,选中该按钮,在网络搭建区域拖拽鼠标,则可放大显示选中区域中的网络组件。

“FView”(全视)按钮,点击该按钮,则会显示全部网络结构图。

“Color”(颜色)按钮,点击该按钮,则会弹出如图所示的颜色菜单。菜单中包含两部分:上半部分为区域背景的颜色选择器,选中某个颜色,则网络搭建区域的背景颜色将会变为选中颜色;下半部分为连线的颜色选择器,选中某个颜色,则网络组件的连线颜色将会变为选中颜色。

“Display”(显示)按钮,点击该按钮,则会弹出如图所示的显示菜单。菜单中包含三个选项:1、“Type”选项,点击该选项,则网络搭建区域中的网络组件显示该组件的类型(默认选项);2、“Name” 选项,点击该选项,则网络区域中的网络组件显示该组件的名称,如下图;3、“Parameters” 选项,点击该选项,则网络区域中的网络组件显示该组件的具体参数,如下图。

“DelComp”(删除组件)按钮,点击按钮,则可删除在网络搭建区域中被选中的网络组件。

“DelLine”(删除连线)按钮,点击按钮,则可删除在网络搭建区域中被选中的网络组件连线。

对齐按钮组,该按钮组中共包含8个按钮。在网络搭建区域中选中两个或两个以上的网络组件,点击按钮组中的任意一个按钮,选中的网络部件将按照该按钮所设定的对齐方式进行对齐。

神经网络库,在该网络库中已预置了多种神经网络,点击下方的箭头按钮,则会弹出如图所示的网络库菜单,在该菜单中包含了多种不同用途的神经网络。用户可将网络库中的网络块拖拽至网络搭建区域中,在区域中将会出现对应的神经网络结构。

“Train”(训练模型)按钮,点击按钮,将会弹出一个保存文件对话框,用户将当前网络保存至选中的文件中,然后DLP将启动模型训练,并自动跳转至模型训练模块。

2. 在DLP中搭建网络

在本教程中,我们将使用网络库中预定义的LeNet网络。只需左键单击网络库中的LeNet控件,并将其拖入可视化区域并放置,即可生成网络。

在可视化区域,将看到可视化的LeNet神经网络结构。网络的每个组件/层都是可点击的,点击特定的组件,可以在“Component Setting”面板下定义或者检查其参数。

我们将修改LeNet部分网络结构中组件的某些默认设置,从数据层开始。我们首先修改数据层的名称,然后导入之前生成的数据集,即填入lmdb文件的路径,最后导入之前生成的均值文件。具体参数设置如下图所示。

刚刚我们修改的Data层是用于训练的,对用于测试的Data层,我们也进行类似的设置。此处需说明的是,如果有两个或两个以上的Data层,只需将其中任意一个Data层与后面的网络层相连接即可,不需要全部连接

我们不改动LeNet中的Convolution层和Pooling层。

接下来,我们必须确保最后一个InnerProduct层的输出数量实际上与我们的分类问题中的类别数量相匹配,即10个。

我们的LeNet网络结构包含了两个Accuracy layer:一个是通过比较真实标签和最高k个得分类来计算LeNet的准确度,而另一个是将真实的标签与得分最高的那个类来比较。默认情况下,k = 3,可以更改默认值。

此处需要说明的是,对于Accuracy层和Loss层,不需将其与Data层相连接,它们默认会使用Data层中Label。

3. 定义求解器

现在我们的网络已经准备好了,是时候定义它的求解器了,求解器主要负责模型参数的迭代更新。点击“Solver”,在组件设置面板下检查或者修改它的参数:你可以将其保留为默认值,或者更改某些属性的值。

本教程选择了进行50次迭代训练,每25次迭代保存一次模型参数,每10次迭代显示一次训练日志,并且每10次迭代进行一次验证集上训练验证。如果你在机器上安装了GPU,则可以将“SolverMode”选择为GPU。

4. 训练模型

我们已经对LeNet网络结构进行了适当的修改,以适应我们的分类问题,并定义了相应的求解器,接下来要训练模型。点击“Train”按钮,选择一个目标文件夹,用来保存生成的.prototxt文件和.caffemodel文件。点击“Save”按钮之后,DLP将自动跳转到“Train”页面,开始模型训练。

笔者建议,在给网络描述文件命名的时候,尽可能包含多的超参数信息。下图中,笔者在定义文件名的时候,将迭代步数和学习率信息都包含在了文件名中,这样做有利于之后的模型调参。

至此,用于分类任务的卷积神经网络就定义好了。

下期预告:DLP教程系列之图像分类: (3)训练可视化

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券