层
网络层深度学习
描述
层定义深度学习的神经网络的体系结构。
创建
MATLAB的深度学习层列表®,请参阅深度学习层的列表。指定的体系结构神经网络层连接顺序,直接创建一个数组的层。指定一个网络层的体系结构可以有多个输入或输出,使用LayerGraph
对象。
另外,您可以从咖啡进口层,Keras, ONNX使用importCaffeLayers
,importKerasLayers
,importONNXLayers
分别。
学习如何创建您自己的自定义层,明白了定义定制的深度学习层。
对象的功能
trainNetwork |
深度学习的神经网络进行训练 |
例子
构建网络体系结构
定义一个卷积与一个卷积神经网络分类架构层,ReLU层,和一个完全连接层。
层= […imageInputLayer([3] 28日28日)convolution2dLayer (5 [5], 10) reluLayer fullyConnectedLayer (10) softmaxLayer classificationLayer]
层= 6 x1层与层:数组1”的形象输入28 x28x3图像zerocenter正常化2”10 5 x5的卷积,卷积步伐[1]和填充[0 0 0 0]3”ReLU ReLU 4”完全连接10完全连接层5”Softmax Softmax 6”crossentropyex分类输出
层
是一个层
对象。
或者,您可以创建单独的层,然后连接它们。
输入= imageInputLayer([28日28日3]);conv = convolution2dLayer (5 [5], 10);relu = reluLayer;fc = fullyConnectedLayer (10);sm = softmaxLayer;有限公司= classificationLayer;层= […输入conv relu fc sm公司)
层= 6 x1层与层:数组1”的形象输入28 x28x3图像zerocenter正常化2”10 5 x5的卷积,卷积步伐[1]和填充[0 0 0 0]3”ReLU ReLU 4”完全连接10完全连接层5”Softmax Softmax 6”crossentropyex分类输出
访问层在层和属性数组
定义一个卷积与一个卷积神经网络分类架构层,ReLU层,和一个完全连接层。
层= […imageInputLayer([3] 28日28日)convolution2dLayer (5 [5], 10) reluLayer fullyConnectedLayer (10) softmaxLayer classificationLayer];
显示图像输入层通过选择第一层。
层(1)
ans = ImageInputLayer属性:名称:“InputSize:[28日28日3]Hyperparameters DataAugmentation:“没有”正常化:“zerocenter”NormalizationDimension:“汽车”的意思是:[]
视图图像的输入大小输入层。
层(1).InputSize
ans =1×328日28日3
卷积的跨层显示。
层(2).Stride
ans =1×21
访问的偏见学习速率因子完全连接层。
层(4).BiasLearnRateFactor
ans = 1
创建简单的DAG网络
创建一个简单的有向无环图(DAG)网络深度学习。列车网络分类的图像数字。本例中的简单网络包括:
按顺序的主干层连接。
一个快捷方式连接包含一个1×1卷积层。快捷的连接使参数梯度流更容易从输出层的早期层网络。
创建的主要分支网络层的数组。添加层和多个输入element-wise。指定输入添加层的数量总和。轻松添加连接后,指定名称第一ReLU层以及层。
层= [imageInputLayer ([28 28 1]) convolution2dLayer(5日16日“填充”,“相同”)batchNormalizationLayer reluLayer (“名字”,“relu_1”32岁的)convolution2dLayer (3“填充”,“相同”,“步”,2)batchNormalizationLayer reluLayer convolution2dLayer(3, 32岁“填充”,“相同”)batchNormalizationLayer reluLayer additionLayer (2“名字”,“添加”)averagePooling2dLayer (2“步”,2)fullyConnectedLayer (10) softmaxLayer classificationLayer];
创建一个层图从数组中。layerGraph
连接所有的层层
按顺序。绘制层图。
lgraph = layerGraph(层);图绘制(lgraph)
创建1×1卷积层,并将其添加到层图。指定数量的卷积过滤器和步伐,以便激活大小匹配的激活大小ReLU第三层。这样的安排使添加层添加第三ReLU层和1×1的输出卷积层。检查层图,绘制层图。
32岁的skipConv = convolution2dLayer (1“步”2,“名字”,“skipConv”);lgraph = addLayers (lgraph skipConv);图绘制(lgraph)
创建快捷方式连接“relu_1”
层的“添加”
层。因为你指定的两个输入的数量增加层创建它时,有两个输入层“三机”
和“in2”
。已经连接到第三ReLU层“三机”
输入。连接“relu_1”
层的“skipConv”
层和“skipConv”
层的“in2”
输入的“添加”
层。添加层现在资金第三ReLU层和输出“skipConv”
层。检查层连接正确,绘制层图。
lgraph = connectLayers (lgraph,“relu_1”,“skipConv”);lgraph = connectLayers (lgraph,“skipConv”,“添加/ in2”);图绘制(lgraph);
负荷训练和验证数据,包括28-by-28灰度图像的数字。
[XTrain, YTrain] = digitTrain4DArrayData;[XValidation, YValidation] = digitTest4DArrayData;
指定培训方案和培训网络。trainNetwork
验证网络使用验证数据ValidationFrequency
迭代。
选择= trainingOptions (“个”,…“MaxEpochs”8…“洗牌”,“every-epoch”,…“ValidationData”{XValidation, YValidation},…“ValidationFrequency”30岁的…“详细”假的,…“阴谋”,“训练进步”);网= trainNetwork (XTrain YTrain、lgraph选项);
显示的属性训练网络。网络是一个DAGNetwork
对象。
净
网= DAGNetwork属性:层:x1 nnet.cnn.layer.Layer[16]连接:[16 x2表]InputNames: {“imageinput”} OutputNames: {“classoutput”}
分类验证图像和计算精度。网络是非常准确的。
YPredicted =分类(净,XValidation);精度=意味着(YPredicted = = YValidation)
精度= 0.9934
版本历史
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。