主要内容

构建网络与深度网络设计师

建立和编辑深度学习网络交互使用深层网络设计师应用。使用此应用程序,您可以导入网络或从头开始构建一个网络,查看和编辑图层属性,结合网络和生成代码来创建网络体系结构。你可以训练你的网络使用深层网络设计师,在命令行或出口网络培训。

您可以使用深层网络设计师一系列网络建设任务:

组装一个网络通过拖动块的层的图书馆并连接它们。快速搜索层,使用过滤层搜索框中层的图书馆窗格。

设计师窗格的深层网络设计师imageInputLayer连接到一个convolution2dLayer reluLayer无关的

您可以添加从工作区中的网络层设计师窗格。

  1. 点击

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

  3. 选择导入并单击图层或网络好吧

  4. 点击添加添加层或网络设计师窗格。

你也可以通过点击加载pretrained网络并选择起始页。

查看和编辑图层属性,选择一个层。点击旁边的帮助图标信息层的图层名称属性。

crossChannelNormalizationLayer属性窗格中显示的属性

信息在所有图层属性,单击图层名称在表深度学习层的列表页面。

一旦你建立你的网络,你可以分析检查错误。有关更多信息,请参见检查网络

转移学习

在深度学习应用程序转移学习是常用的。pretrained网络,可以使用它作为一个起点,学习一个新任务。微调网络转移学习通常比训练一个网络快得多,也更容易与随机初始化权重从零开始。您可以快速学习功能转移到一个新的任务使用较少的训练图像。

深层网络设计师的选择pretrained网络适合学习与图像数据传输。

负载Pretrained网络

打开应用程序,选择一个pretrained网络。你也可以加载一个pretrained网络通过选择设计师选项卡并单击。如果你需要下载的网络,网络上的暂停和点击安装打开插件浏览器。

提示

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

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

适应Pretrained网络

准备学习网络传输,代替过去可学的层和最后分类层。

  • 如果最后可学的层是一个二维卷积层(例如,“conv10”层SqueezeNet):

    • 拖动一个新的convolution2dLayer到画布上。设置NumFilters房地产新类和数量FilterSize1,- 1

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

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

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

  • 如果最后可学的层是一个完全连接层(例如,大多数pretrained网络GoogLeNet):

    • 拖动一个新的fullyConnectedLayer到画布上,设置OutputSize房地产类的新号码。

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

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

完全连接层选择深陷网络设计师。Properties窗格显示OutputSize设置为5。

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

分类层选择深陷网络设计师。Properties窗格显示OutputSize设置为自动。

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

为例说明如何进行再培训pretrained网络分类的新图片,明白了转移学习与深层网络设计师

您还可以使用pretrained网络和传输回归任务的学习。有关更多信息,请参见分类网络转化为回归网络

图像分类

你可以建立一个图像分类网络使用深层网络设计师的拖动图层层的图书馆并连接它们。您还可以创建网络在命令行,然后导入网络深陷网络设计师。

例如,创建一个网络训练图像分类的数据集28-by-28图像分为10类。

inputSize = [28 28 1];numClasses = 10;层= [imageInputLayer (inputSize) convolution2dLayer (20) batchNormalizationLayer reluLayer fullyConnectedLayer (numClasses) softmaxLayer classificationLayer);deepNetworkDesigner(层)

图像分类网络深陷网络设计师。网络开始于一个图像输入层,结束于一个分类层。

这个网络适应您自己的数据,设置InputSize图像的输入层以匹配您的图片大小和设置OutputSize完全连接层的类的数量在你的数据。对于更复杂的分类任务,创建一个更深层次的网络。有关更多信息,请参见深层网络

为一个例子,演示如何创建和训练图像分类网络,看到的创建简单的图像分类网络使用深层网络设计师

序列的分类

您可以使用深层网络设计师从头开始建立一个序列网络,或者您可以使用一个预先构建的从一开始就未经训练的网络页面。打开深层网络设计师开始页面。暂停上Sequence-to-Label并点击开放。这样做打开一个预先构建的网络适合序列的分类问题。

序列分类网络深陷网络设计师。网络开始的序列输入层,结束于一个分类层。

你能适应这个序列网络训练数据。假设你有数据与12特性和9类。适应这个网络,选择sequenceInputLayer并设置InputSize12

序列输入层选择深陷网络设计师。Properties窗格显示InputSize设置为12。

然后,选择fullyConnectedLayer并设置OutputSize9类的数量。

完全连接层选择深陷网络设计师。Properties窗格显示OutputSize设置为9。

网络现在已经准备好火车。训练网络深陷网络设计师,创造一个CombinedDatastore包含预测和响应。有关更多信息,请参见数据导入深度网络设计师。对于一个例子,演示如何创建一个数据存储和火车sequence-to-sequence回归网络使用深层网络设计师,看看列车网络的时间序列预测使用深层网络设计师。一个例子,演示如何出口网络建在深网络设计师和训练使用命令行功能,看看创建简单的序列分类网络使用深层网络设计师

数字数据分类

如果你有一个数据集的数字特性(例如,一组数值数据没有空间和时间维度),然后你可以训练一个深度学习网络使用一个特性输入层。输入层的特性的更多信息,见featureInputLayer

您可以使用深层网络构造一个合适的网络设计师,或者您可以创建网络在命令行和网络导入深度网络设计师。

例如,创建一个网络数字数据与10类,其中每个观察由20特性。

inputSize = 20;numClasses = 10;层= [featureInputLayer inputSize,“归一化”,“zscore”)fullyConnectedLayer (50) batchNormalizationLayer reluLayer fullyConnectedLayer (numClasses) softmaxLayer classificationLayer];deepNetworkDesigner(层)

功能分类网络深陷网络设计师。网络始于一个功能的输入层,结束于一个分类层。

这个网络适应您自己的数据,设置InputSize特性输入层的匹配特性的数量在你的数据和设置OutputSize完全连接层的类的数量在你的数据。对于更复杂的分类任务,创建一个更深层次的网络。有关更多信息,请参见深层网络

训练一个网络深陷网络设计师使用一个表中的数据,您必须首先将数据转换成一个合适的数据存储。例如,先将表格转换成数组包含预测和响应。然后,把数组转换成arrayDatastore对象。最后,结合预测和响应数据存储到一个数组CombinedDatastore对象。然后您可以使用合并后的数据存储训练深陷网络设计师。有关更多信息,请参见数据导入深度网络设计师。你也可以培养与表格数据trainNetwork出口网络函数的工作区。

分类网络转化为回归网络

你可以分类网络转换成一个回归网络代替的最后一层网络。转换是非常有用的,当你想要pretrained分类网络和再教育回归任务。

例如,假设您有一个GoogLeNet pretrained网络。这个网络转换成一个回归网络只有一个反应,取代最后完全连接层,将softmax层、和分类输出层与一个完全连接层OutputSize设置为1(响应)的数量和回归层。

图的分类网络转化为一个回归网络。的最后两层分类网络,softmax层和一层分类,取而代之的是一个回归层。

如果你有多个输出响应,改变OutputSize价值完全连接层的响应。

多和多输出网络

多个输入

您可以定义一个网络有多个输入,如果网络需要来自多个数据源的数据或在不同的格式。例如,一些网络需要从多个传感器上获取的图像数据在不同的决议。金宝搏官方网站

使用深度网络设计师,你可以控制每一层的输入和输出。例如,要创建一个网络与多个图像输入,创建两个分支,每个从图像输入层。

网络与多个输入深陷网络设计师。网络有两个图像输入层和一个输出层分类。

你可以训练一个多输入网络与相同类型的输入,例如,两个不同来源的图像,使用深度网络设计师和一个数据存储对象。网络与数据以多种格式,例如,图像和序列数据,训练网络使用自定义训练循环。有关更多信息,请参见dlnetwork定制培训循环

多个输出

您可以定义网络和多个输出任务需要多个响应在不同的格式,例如,任务要求分类和数字输出。

使用深度网络设计师,你可以控制每一层的输出。

的网络有多个输出。第一个分支以完全连接层和softmax层。第二个分支以完全连接层。

训练一个多输出网络,您必须使用一个自定义训练循环。定制培训循环必须使用dlnetwork对象不包含任何输出层。有关更多信息,请参见dlnetwork定制培训循环

深层网络

建设大型网络是很困难的,你可以用深网络设计师加快建设。你可以使用一次层块。选择多个层,然后复制粘贴或删除。例如,您可以使用块层创建组的多个副本的卷积,批正常化,和ReLU层。

群体选择多层深陷网络的设计师。

用于训练网络,复制图层复制重量和偏见。

您还可以从工作区副本子网连接起来容易使用应用。网络或层导入到应用程序,点击>从工作区进口。点击添加层添加到当前的网络。

高级深度学习应用程序

您可以使用深层网络设计师为先进的应用程序构建和训练网络,如计算机视觉和图像处理任务。

创建语义分割网络

语义分割描述的过程将每个像素的图像与一个类标签。应用语义分割包括自主驾驶的道路分割为医学诊断和癌症细胞分割。

创建一个语义分割网络的拖动图层层的图书馆设计师窗格或创建网络命令行和导入网络深陷网络设计师。

例如,创建一个简单的语义分割网络基于一个将采样和upsampling设计。

inputSize = [32 32 1];层= [imageInputLayer inputSize convolution2dLayer ([3, 3], 64“填充”,1,1,1,1)reluLayer maxPooling2dLayer ((2, 2),“步”,(2,2))convolution2dLayer ([3, 3], 64“填充”,1,1,1,1)reluLayer transposedConv2dLayer((4, 4), 64年,“步”(2,2),“种植”,1,1,1,1)convolution2dLayer ([1], 2) softmaxLayer pixelClassificationLayer];deepNetworkDesigner(层)

语义分割网络深陷网络设计师。网络开始于一个图像输入层,结束于一个像素分类层。

更多信息在语义分割网络构建和训练,明白了训练简单的语义分割网络深陷网络设计师(计算机视觉工具箱)

创建Image-to-Image回归网络

Image-to-image回归包括一个输入图像并产生一个输出图像,往往相同的大小。这种类型的网络是用于超分辨率,colourization或图像去模糊。

您可以创建image-to-image回归网络使用深层网络设计师。例如,创建一个简单的网络体系结构适合image-to-image回归使用unetLayers从计算机视觉的工具箱™函数。这个函数提供了一个网络适用于语义分割,这可以很容易地适应image-to-image回归。

创建一个网络输入28-by-28-by-1像素大小。

层= unetLayers([1] 28日28日2“encoderDepth”2);deepNetworkDesigner(层);

设计师窗格中,取代将softmax和像素分类与回归层和层层的图书馆

图的像素分类网络转化为一个image-to-image回归网络。的最后两层分类网络,softmax层和一个像素分类层,取而代之的是一个回归层。

选择最终的卷积层和设置NumFilters财产1

卷积的二维层选择深陷网络设计师。Properties窗格显示NumFilters设置为1。

更多信息构建和训练一个image-to-image回归网络,看到的Image-to-Image回归深陷网络设计师

dlnetwork定制培训循环

您可以构建和分析dlnetwork对象使用深层网络设计师。一个dlnetwork对象支持自定义训练循环使用自动金宝app分化。使用自定义培训循环时,内置的选项不提供训练选项,你需要你的任务。

检查您的网络是否准备培训使用自定义循环,点击分析>分析了dlnetwork。有关更多信息,请参见检查网络

不支持培训和一个定制的循环深陷网络设计师。金宝app训练你的网络使用自定义训练循环,首先导出工作区并把它转换成网络dlnetwork对象。你可以训练网络使用dlnetwork对象和一个自定义训练循环。有关更多信息,请参见列车网络的使用自定义训练循环

检查网络

检查您的网络,进一步详细地检查层,在设计师选项卡上,单击分析。研究问题和研究层属性来解决网络中的大小不匹配。回到深网络设计师编辑图层,然后检查结果通过点击分析一次。如果深度学习网络分析仪报告零错误,那么编辑网络准备培训。

深入学习网络分析仪显示零警告或错误。

你也可以分析网络定制培训工作流程。点击分析>分析了dlnetwork分析网络使用dlnetwork对象。例如,网络分析仪检查层图没有任何输出层。

另请参阅

相关的话题