主要内容

分层图

用于深度学习的网络层图

描述

层图指定了具有更复杂图结构的深度学习网络的体系结构,其中层可以具有来自多个层的输入和到多个层的输出。具有这种结构的网络称为有向无环图(DAG)网络。创建一个分层图对象,您可以使用对象函数绘制图形,并通过添加、删除、连接和断开图层对其进行修改。要训练网络,请将图层图用作列车网络作用

创造

描述

实例

lgraph= layerGraph创建不包含图层的空图层图。可以使用添加层作用

实例

lgraph= layerGraph ()从网络层数组创建层图并设置属性中的层lgraph以与中相同的顺序连接.

实例

lgraph= layerGraph ()提取对象的层图系列网络达格网络对象。例如,您可以提取预训练网络的层图以执行迁移学习。

lgraph= layerGraph (数据链路)提取对象的层图数据链路网络。使用此语法可以使用数据链路网络列车网络功能或深度网络设计器.

输入参数

全部展开

训练有素的网络,指定为系列网络或者达格网络对象。您可以通过导入预训练网络(例如,使用水壶功能)或通过使用列车网络.

网络自定义训练循环,指定为数据链路网络对象。

对于数据链路网络输入时,软件从可学习参数中提取数值数据,并将其转换为单精度。

性质

全部展开

此属性是只读的。

网络层,指定为大堆

此属性是只读的。

层连接,指定为具有两列的表。

每个表行表示图层图中的一个连接。第一栏,,来源,指定每个连接的源。第二列,目的地,指定每个连接的目标。连接源和目标为层名称或具有以下格式“layerName/IOName”哪里“爱奥纳姆”图层输入或输出的名称。

数据类型:桌子

此属性是只读的。

网络输入层名称,指定为字符向量的单元数组。

数据类型:单间牢房

网络输出层名称,指定为字符向量的单元数组。

数据类型:单间牢房

目标函数

添加层 向图层图添加图层
搬运工 从图层图中删除图层
替换层 在图层图中替换图层
connectLayers 在图层图中连接图层
断开层 断开图层图中的图层
情节 绘制神经网络层图

例子

全部崩溃

创建空图层图和图层数组。将图层添加到图层图并绘制该图。添加层按顺序连接层。

lgraph=layerGraph;layers=[imageInputLayer([32 3],“姓名”,“输入”)卷积2层(3,16,“填充”,“一样”,“姓名”,“conv_1”)批处理规范化层(“姓名”,‘BN_1’)雷卢耶(“姓名”,“relu_1”)]; lgraph=添加层(lgraph,层);图形绘图(lgraph)

Figure包含axes对象。axes对象包含graphplot类型的对象。

创建一个层数组。

[imageInputLayer([28 28 1],]),“姓名”,“输入”)卷积2层(3,16,“填充”,“一样”,“姓名”,“conv_1”)批处理规范化层(“姓名”,‘BN_1’)雷卢耶(“姓名”,“relu_1”)];

从图层阵列创建图层图。分层图连接中的所有层按顺序绘制图层图。

lgraph=层图(层);图形绘图(lgraph)

Figure包含axes对象。axes对象包含graphplot类型的对象。

加载一个预训练的挤压网络。你可以使用这个训练过的网络进行分类和预测。

净=挤压净;

要修改网络结构,请首先使用提取DAG网络的结构分层图.然后可以使用的对象函数分层图修改网络架构。

lgraph=图层Graph(净)
LGRAPHE=LayerGraph,属性:Layers:[68x1 nnet.cnn.layer.layer]连接:[75x2表格]输入名称:{'data'}输出名称:{'ClassificationLayer_predictions'}

创建用于深度学习的简单有向无环图(DAG)网络。训练网络对数字图像进行分类。本例中的简单网络包括:

  • 各层按顺序连接的主要分支。

  • A.快捷连接包含单个1乘1卷积层的。快捷连接使参数渐变更容易从输出层流向网络的早期层。

将网络的主分支创建为层数组。加法层按元素对多个输入求和。指定要求和的加法层的输入数。若要稍后轻松添加连接,请指定第一个ReLU层和加法层的名称。

层=[imageInputLayer([28 1])卷积2层(5,16,“填充”,“一样”)batchNormalizationLayer reluLayer(“姓名”,“relu_1”)卷积2层(3,32,“填充”,“一样”,“大步走”,2)batchNormalizationLayer reluLayer卷积层(3,32,“填充”,“一样”)batchNormalizationLayer reluLayer附加层(2,“姓名”,“添加”)平均池2层(2,“大步走”,2)全连接层(10)softmaxLayer分类层];

从图层阵列创建图层图。分层图连接中的所有层按顺序绘制图层图。

lgraph=层图(层);图形绘图(lgraph)

Figure包含axes对象。axes对象包含graphplot类型的对象。

创建1×1卷积层并将其添加到层图中。指定卷积过滤器的数量和步长,以便激活大小与第三个ReLU层的激活大小匹配。该布置使得加法层能够添加第三ReLU层和1×1卷积层的输出。要检查图层是否在图形中,请绘制图层图形。

skipConv=卷积2dlayer(1,32,“大步走”2.“姓名”,“skipConv”);lgraph=addLayers(lgraph,skipConv);图形绘制(lgraph)

Figure包含axes对象。axes对象包含graphplot类型的对象。

从中创建快捷方式连接“relu_1”分层“添加”层。由于在创建添加层时指定了两个作为输入数,因此该层有两个名为'在1'“in2”。第三个ReLU层已连接到'在1'输入。连接“relu_1”分层“skipConv”层与层“skipConv”分层“in2”报告的输入“添加”层。加法层现在将第三个ReLU层的输出和“skipConv”图层。要检查图层是否正确连接,请绘制图层图。

lgraph=连接层(lgraph,“relu_1”,“skipConv”); lgraph=连接层(lgraph,“skipConv”,“添加/ in2”); 图形图(lgraph);

Figure包含axes对象。axes对象包含graphplot类型的对象。

加载训练和验证数据,该数据由28×28的数字灰度图像组成。

[XTrain,YTrain]=数字列车4DRARAYDATA;[XValidation,YValidation]=数字4阵列数据;

指定培训选项并培训网络。列车网络每年使用验证数据验证网络验证频率迭代。

选项=培训选项(“sgdm”,...“MaxEpochs”8....“洗牌”,“every-epoch”,...“验证数据”,{XValidation,YValidation},...“ValidationFrequency”30岁的...“冗长”错误的...“情节”,“培训进度”); net=列车网络(XTrain、YTrain、lgraph、选项);

Figure Training Progress(01-Sep-2021 08:31:32)包含2个轴对象和另一个uigridlayout类型的对象。轴对象1包含15个patch、text、line类型的对象。轴对象2包含15个patch、text、line类型的对象。

显示经过训练的网络的属性。该网络是达格网络对象。

net=DAG网络,具有以下属性:层:[16x1 nnet.cnn.layer.layer]连接:[16x2表]输入名称:{'imageinput'}输出名称:{'classoutput'}

对验证图像进行分类并计算精度。网络非常准确。

YPredicted=分类(净、XValidation);准确度=平均值(预测=验证)
精度=0.9934
在R2017b中引入