主要内容

深层网络设计师

设计、可视化和火车深度学习网络

自从R2018b

描述

深层网络设计师应用程序允许您构建、可视化、编辑和火车深度学习网络。使用此应用程序,您可以:

  • 构建、导入、编辑和网络结合起来。

  • 负载pretrained网络学习和编辑他们转移。

  • 查看和编辑图层属性和添加新层和连接。

  • 分析网络,确保网络架构是正确定义,训练前和检测问题。

  • 导入和可视化数据存储和图像数据进行训练和验证。

  • 对应应用于图像分类训练数据和显示分布的类标签。

  • 列车网络和监控训练块准确性,损失,和验证指标。

  • 工作区或仿真软件出口训练网络金宝app®

  • MATLAB生成®代码构建和培训网络和使用实验管理器创建实验hyperparameter调优。

打开深层网络设计师应用

  • MATLAB将来发布:应用程序选项卡,在机器学习和深度的学习,点击应用程序图标。

  • MATLAB命令提示:输入deepNetworkDesigner

例子

全部展开

检查pretrained网络深陷网络设计师。

打开应用程序,选择一个pretrained网络。你也可以加载一个pretrained网络通过选择设计师选项卡并单击。如果你需要下载网络,然后单击安装打开插件浏览器。深层网络设计师pretrained网络适用于图像和音频的任务。加载pretrained音频网络需要音频工具箱™。

提示

开始,试着选择一个更快的图像分类网络,如SqueezeNet或GoogLeNet。一旦你了解的设置工作,尝试一个更精确的网络,如Inception-v3或ResNet,看看是否能改善你的结果。选择pretrained网络上更多的信息,请参阅Pretrained深层神经网络

深层网络设计师开始显示可用的网络页面

设计师窗格中,可视化和探索网络。可用pretrained图像分类网络的列表和如何进行比较,看看Pretrained深层神经网络

网络设计师展示pretrained图像分类网络深处

构建信息网络使用深层网络设计师,看看构建网络与深度网络设计师

准备一个网络传输学习通过编辑它深陷网络设计师。

把学习的过程是一个pretrained深度学习网络和微调学会一个新任务。您可以快速学习功能转移到一个新的任务使用较少的训练图像。因此转移学习往往比从头开始训练一个网络更快和更容易。使用pretrained传输网络学习,你必须改变类的数量来匹配你的新数据集。

开放的网络设计师SqueezeNet深处。

deepNetworkDesigner (squeezenet)

准备学习网络传输,代替过去可学的层和最后分类层。SqueezeNet,最后可学的一层一层是一个二维卷积命名“conv10”

  • 拖动一个新的convolution2dLayer到画布上。设置FilterSize财产1,- 1NumFilters房地产类的新号码。

  • 改变利率,这样学习是学习更快的新层的传输层通过增加WeightLearnRateFactorBiasLearnRateFactor值。

  • 删除最后一个convolution2dLayer和连接你的新层。

    二维卷积层选择深陷网络设计师。FilterSize设置为1时,1和NumFilters设置为5。

提示

对于大多数pretrained网络(例如,GoogLeNet)最后可学的层是完全连接层。准备转移网络学习,用一个新的替换完全连接层完全连接层和设置OutputSize房地产类的新号码。例如,看到的开始使用深层网络设计师

接下来,删除分类输出层。然后,拖一个新的classificationLayer到画布上并连接它。默认设置为输出层指的是网络学习在培训类的数量。

分类层选择深陷网络设计师。OutputSize设置为自动。

检查你的网络点击分析设计师选项卡。网络如果准备培训深入学习网络分析仪零错误报告。为一个例子,演示如何训练一个网络分类的新图片,明白了转移学习与深层网络设计师

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

设计师窗格中,选择一个层来查看和编辑属性。单击帮助图标旁边的图层名称的属性的更多信息层。

交叉道归一化层选择深陷网络设计师

关于层属性的更多信息,请参阅深度学习层的列表

添加层深度空间网络的网络设计师。

深陷网络设计师,你可以建立一个网络通过拖动内置的层层的图书馆设计师面板和连接它们。您还可以添加自定义层的工作区网络设计师窗格。假设你有一个自定义层存储在变量中myCustomLayer

  1. 点击设计师选项卡。

  2. 暂停上从工作空间并点击进口

  3. 选择myCustomLayer并点击好吧

  4. 点击添加

应用程序添加自定义层的顶部设计师窗格。看到新图层,放大使用鼠标或者点击放大

连接myCustomLayer的网络设计师窗格。为例展示如何构建一个网络定制层深陷网络设计师,看看自定义层导入深度网络设计师

你也可以结合网络深陷网络设计师。例如,您可以创建一个语义分割网络结合pretrained网络解码器子网。

查看或编辑自定义层类定义,选择图层,然后单击编辑层代码。有关更多信息,请参见视图自动生成自定义层使用深层网络设计师(因为R2023a)

数据导入深度网络设计师培训。

您可以使用数据选项卡的深层网络设计师导入培训和验证数据。深层网络设计师支持导入的图像数据和数据存储对金宝app象。选择导入方法基于任务的类型。

任务 数据类型 数据导入方法 可视化例子
图像分类

ImageDatastore对象,或为每个类包含图片的文件夹和子文件夹。类标签来自子文件夹名称。

选择导入数据>导入图像分类数据

导入图像数据对话框

你可以选择增加选项和指定验证数据在导入图像数据对话框。有关更多信息,请参见数据导入深度网络设计师

Data选项卡的网络设计师的直方图显示类标签和一个随机的选择从导入的数据图像

其他扩展工作流(如数字输入功能,出现内存不足的数据,图像处理,和音频和语音处理)

数据存储。

对于其他扩展的工作流,使用一个合适的数据存储对象。例如,AugmentedImageDatastore,CombinedDatastore,pixelLabelImageDatastore(计算机视觉工具箱),audioDatastore(音频工具箱),或自定义数据存储。

可以导入和培训适用于任何数据存储对象trainNetwork函数。更多信息关于构建和深度学习应用程序使用的数据存储对象,明白了数据存储深度学习

选择导入数据>导入自定义数据

导入数据存储对话框

您可以指定的验证数据导入自定义数据对话框。有关更多信息,请参见数据导入深度网络设计师

Data选项卡的网络设计师显示预览前五观测的数据存储

火车深层神经网络使用深层网络设计师。

使用深度网络设计师,你可以训练一个网络使用图像数据或任何适用于数据存储对象trainNetwork函数。例如,你可以训练一个语义分割网络或多输入网络使用CombinedDatastore对象。更多信息将数据导入到深层网络设计师,看看数据导入深度网络设计师

训练一个网络的数据导入到深层网络设计师,在培训选项卡上,单击火车。培训的应用显示一个动画情节进展。情节显示mini-batch损失和精度,验证损失和准确性,和额外的信息在培训的进展。情节有一个停止按钮在右上角。单击该按钮停止训练,返回网络的当前状态。

培训进展情节深陷网络设计师

有关更多信息,请参见列车网络使用深层网络设计师

如果你需要更多的控制训练,点击培训方案选择培训设置。选择培训选项的更多信息,请参阅trainingOptions

深陷网络设计师培训选项对话框

为一个例子,演示如何训练图像分类网络,看到的转移学习与深层网络设计师。为一个例子,演示如何训练sequence-to-sequence LSTM网络,看到的列车网络的时间序列预测使用深层网络设计师

训练一个网络数据不支持的深度网络设计师,选择金宝app设计师选项卡,并单击出口出口初始网络体系结构。然后您可以通过编程训练网络,例如,使用一个定制的培训循环。

出口中创建的网络体系结构深度网络设计师工作区或模型并生成代码来创建网络和培训。金宝app

  • 出口的网络体系结构初始权重到工作区,在设计师选项卡上,单击出口。根据网络体系结构,网络设计师作为一个出口网络LayerGraphlgraph或作为一个对象

  • 出口网络训练深陷网络设计师到工作区,在培训选项卡上,单击出口。深层网络设计师培训网络体系结构作为出口DAGNetwork对象trainedNetwork。深层网络设计师也出口培训的结果,如培训和验证准确性,结构数组trainInfoStruct

  • 出口网络训练深陷网络仿真软件设计师,在金宝app培训选项卡上,单击出口>出口到仿真软件金宝app。深度网络设计师可以节省培训网络作为MAT-file并生成模型块代表训练网络。金宝app块生成依赖于网络训练的类型。

    • 图像分类器——使用一个训练有素的深度学习神经网络分类数据。

    • 预测——使用一个训练有素的深度学习神经网络预测的反应。

    • 有状态的分类使用递归神经网络训练——分类数据。

    • 有状态的预测使用递归神经网络训练,预测反应。

一个例子,演示如何出口网络从深层网络仿真软件设计师,明白了金宝app从深导出图像分类网络网络设计模型金宝app

重新创建一个网络,你构建和训练深陷网络设计师,生成MATLAB代码。

  • 重新创建网络层,设计师选项卡上,选择出口>生成代码

  • 重新创建网络层,包括任何可学的参数,在设计师选项卡上,选择出口>与初始参数生成代码

  • 重新创建网络,数据导入,和培训培训选项卡上,选择出口>生成代码的训练

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

  • 重新创建网络层中创建应用程序,运行脚本。如果你生成培训脚本,运行脚本也将复制网络培训。

  • 检查代码来学习如何以编程方式创建和连接层,以及如何训练网络。

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

有关更多信息,请参见生成MATLAB代码从深层网络设计师

您还可以使用深层网络设计师创建深度学习实验扫描通过一系列hyperparameter值或使用贝叶斯优化找到最佳的培训方案。一个例子,演示如何使用实验管理器调优的hyperparameters网络训练深陷网络设计师,看看生成实验使用深层网络设计师

相关的例子

编程使用

全部展开

deepNetworkDesigner打开网络设计师应用。如果深深网络设计师已经打开,deepNetworkDesigner应用程序带来的焦点。

deepNetworkDesigner ()打开深层网络设计师应用和加载指定的网络应用,网络可以是一个系列网络DAG网络层图,或层的数组。

例如,开放深度网络设计师pretrained SqueezeNet网络。

网= squeezenet;deepNetworkDesigner(净);

如果深的网络设计师已经打开,deepNetworkDesigner(净)给应用程序带来了关注,提示您添加或替换任何现有的网络。

提示

训练多个网络和比较结果,试一试实验管理器。您可以使用深层网络设计师创建实验适用于实验管理器。

版本历史

介绍了R2018b