深层网络设计师

设计,可视化和培训深学习网络

描述

深网络设计应用程序可以让你建立,可视化,编辑和培养深度学习网络。使用这个应用程序,您可以:

  • 加载预训练的网络和编辑他们的迁移学习。

  • 导入和编辑网络及建立新的网络。

  • 拖放添加新的图层,并创建新的连接。

  • 查看和编辑图层属性。

  • 分析网络,以确保网络架构正确定义,并且在训练前发现问题。

  • 对于分类问题,并选择增强选项导入图像数据。

  • 火车图像分类任务的网络。

  • 监测精度,损失和验证指标的地块培训。

  • MATLAB生成®为建设和培训网络代码。

完成网络设计之后,可以将其导出到工作区,在工作区中可以保存或训练网络。对于图像分类问题,还可以使用深度网络设计器来训练网络。您可以将经过训练的网络和结果导出到工作区。

打开深层网络设计应用

  • MATLAB工具条:在应用选项卡,在机器学习和深度学习,点击应用程序图标。

  • MATLAB命令提示符:输入deepNetworkDesigner

例子

展开全部

检查在深层网络设计应用一个简单的预先训练网络。

打开该应用,然后选择一个预先训练网络。您也可以通过选择加载预训练网络设计师标签并点击。如果您需要在网络中下载,然后单击安装的链接,用户自定义浏览器。

小费

要开始使用,尽量选择速度更快的网络,如SqueezeNet或GoogLeNet之一。一旦你有一种感觉,它的设置很好地工作,尝试更准确的网络,如盗梦空间-V3或RESNET,并看看是否能改善你的结果。有关选择预训练网络的详细信息,请参阅预训练深层神经网络

在里面设计师面板,可视化和探索网络。可用网络列表以及如何将它们进行比较,看预训练深层神经网络

有关构建使用Deep网络设计网络的信息,请参阅建立网络与深层网络设计者

导入图像数据转换成深网络设计人员进行培训。

为了将数据导入应用,在数据选项卡,单击导入数据

您可以从一个文件夹图像的子文件夹导入数据为每个类,或从imageDatastore在工作区中。

深层网络设计者提供了一个选择的图像增强选项。您可以通过应用随机扩增到您的数据有效地增加训练的数据量。如果您选择,以增加你的数据,深网络设计,随机扰动对每个时间段的训练数据。每个历元然后使用稍微不同的数据集。

深层网络设计者提供了以下增强选项:

  • 在x轴随机反射

  • 在y轴随机反射

  • 随机旋转

  • 随机缩放

  • 随机水平翻译

  • 随机垂直平移

注意

由于一些增强系统不适合于特定的数据集,默认情况下,深网络设计者不增加的数据。欲了解更多信息,请参阅增强图像的培训与随机几何变换

通过选择一个文件夹,或导入的导入验证数据imageDatastore从工作区。您也可以选择从训练数据拆分验证数据。验证数据可以帮助您监控性能和防止过度拟合。

您之后选择训练数据的位置,指定验证数据,并设置任何增强选项,点击进口导入的数据集。

通过在深网络设计应用中编辑它准备转移的学习网络。

转让学习是采取预训练的深度学习网络和微调它来学习新任务的过程。你可以学到功能迅速转移到使用训练图像的数少的新任务。因此传输的学习往往比从头训练网络更快,更容易。要使用迁移学习预训练网络,您必须更改类的数量,以配合新的数据集。

打开深层网络设计者。

deepNetworkDesigner

从深层网络设计者开始页面中选择加载预训练网络。尝试选择SqueezeNet从预先训练的网络列表。点击打开在网络中加载。

为了准备网络迁移学习,替换最后一个可以学习层和最终的分类层。

  • 如果最后可以学习的层是一个2 d卷积层(例如,'conv10在SqueezeNet'层):

    • 拖动新convolutional2dLayer到画布上。设置NumFilters属性类的新号码和FilterSize1,1

    • 删除最后convolutional2dLayer和连接新层代替。

  • 如果最后可以学习的层是完全连接的层(最预训练的网络,例如,GoogLeNet):

    • 拖动新fullyConnectedLayer到画布上,并设置OutputSize属性类的新号码。

    • 删除最后fullyConnectedLayer和连接新层代替。

接着,删除分类输出层。然后,将一个新的classificationLayer到画布上,并连接它来代替。输出层的默认设置意味着它会学习训练中的类的数量。

要检查网络是准备训练,在设计师选项卡,单击分析

训练网络,选择训练标签。欲了解更多信息,请参阅迁移学习深层网络设计者

如需帮助理解和编辑图层属性,单击图标旁边的图层名称的帮助。

设计师窗格中选择一个层,以查看和编辑的属性。点击旁边的图层名称帮助图标有关层的属性的详细信息。

有关层属性的更多信息,请参见深度学习图层列表

培训在深网络设计的应用程序图像分类网络。

要培养导入深层网络设计者对图像数据的网络,在训练选项卡,单击培养。如果您需要在训练更好的控制,单击培训选项选择培训设置。有关选择培训选项的详细信息,请参阅trainingOptions

为示出如何训练图像分类网络的例子,请参见迁移学习深层网络设计者

培养上的其它类型的数据网络中,选择设计师选项卡并单击出口导出的初始网络架构。然后,您可以通过编程训练网络。举个简单的例子,见创建简单序列分类网络使用Deep网络设计者

将在Deep network Designer中创建的网络体系结构导出到工作区。

  • 为了与初始权重导出的网络架构,在设计师选项卡,单击出口

  • 为了与训练的权重导出的网络架构,在训练选项卡,单击出口

要重新创建你在深网络设计的应用程序创建网络层,生成MATLAB代码。

为了重建网络层,在设计师选项卡,选中出口>生成代码

或者,您可以重新创建你的网络,包括任何可以学习的参数,通过选择出口>生成具有初始参数代码

生成脚本后,您可以执行以下任务。

  • 要重新创建应用程序创建的网络层,运行该脚本。

  • 训练网络,运行脚本,然后供应层的trainNetwork功能。

  • 检查代码,以了解如何创建和连接层编程。

  • 要修改层,请编辑代码。您还可以运行脚本并将网络导入到应用程序中进行编辑。

欲了解更多信息,请参阅生成MATLAB代码来重新创建网络层

要重新创建数据导入和训练你在深网络设计的应用程序执行,生成MATLAB代码。

要重新创建数据导入和培训,对训练选项卡,选中出口>生成代码培训

生成脚本后,您可以执行以下任务。

  • 要重新创建网络层和训练中的应用程序执行,运行该脚本。

  • 检查代码,以了解如何以编程方式导入数据,构建和培训网络。

  • 修改代码以尝试不同的网络架构和培训方案,并看看它们是如何影响结果。

欲了解更多信息,请参阅生成MATLAB代码,以火车网

相关的例子

提示

要训练多个网络并比较结果,请尝试实验管理器

介绍了在R2018b