层
深度学习的网络层
描述
定义神经网络的体系结构的层次进行深度学习。
创建
对于MATLAB中的深度学习层列表®, 看深度学习层的清单。要指定与所有图层连接的所有图层的架构,请直接创建一个层。要指定网络的体系结构,其中层可以具有多个输入或输出,请使用LayerGraph
目的。
另外,您可以使用Caffe,Keras和Onnx进口层进口商人
,,,,ImportKeraslayers
, 和ExpientOnnXlayers
分别。
要了解如何创建自己的自定义层,请参阅定义自定义深度学习层。
对象功能
火车网 |
训练深学习神经网络 |
例子
构建网络体系结构
定义一个卷积神经网络体系结构,用于使用一个卷积层,一个relu层和完全连接的层进行分类。
层= [...imageInputlayer([28 28 3])卷积2Dlayer([5 5],10)Relulayer PlullConnectedLayer(10)SoftMaxlayer分类器]
层= 6x1层阵列,带有层:1''图像输入28x28x3图像,带有“ zerecenter”归一化2''卷积10 5x5卷积[1 1] [1 1]和填充[0 0 0 0 0] 3''''Relu 4'relu 4'完全连接的10个完全连接的层5''softmax softmax 6'分类crossentropyex
层
是一个层
目的。
另外,您可以单独创建图层,然后将它们串联。
输入= ImageInputlayer([28 28 3]);conv =卷积2Dlayer([5 5],10);relu = relulayer;fc =完整连接的layer(10);sm = softmaxlayer;CO =分类层;层= [...输入Conv Relu FC SM Co]
层= 6x1层阵列,带有层:1''图像输入28x28x3图像,带有“ zerecenter”归一化2''卷积10 5x5卷积[1 1] [1 1]和填充[0 0 0 0 0] 3''''Relu 4'relu 4'完全连接的10个完全连接的层5''softmax softmax 6'分类crossentropyex
在图层数组中访问层和属性
定义一个卷积神经网络体系结构,用于使用一个卷积层,一个relu层和完全连接的层进行分类。
层= [...imageInputlayer([28 28 3])卷积2Dlayer([5 5],10)Relulayer PlullConnectedLayer(10)SoftMaxlayer ClassificationLayer];
通过选择第一层显示图像输入层。
层(1)
ans =带有属性的ImageInputlayer:name:''inputsize:[28 28 3]超参数数据授课:'无''归一化:'zerocenter'rangorizationDimension:'auto'平均值:[]
查看图像输入层的输入大小。
(1)层。
ans =1×328 28 3
显示卷积层的大步。
层(2)。
ans =1×21 1
访问完全连接层的偏置学习率因子。
层(4).BiaslearnrateFactor
ans = 1
创建简单的DAG网络
创建一个简单的定向无环图(DAG)网络,以进行深度学习。训练网络以对数字的图像进行分类。此示例中的简单网络包括:
依次连接的主分支。
一个快捷连接包含一个1 by-1卷积层。快捷连接使参数梯度能够从输出层更容易流到网络的早期层。
创建网络的主要分支作为图层数组。加法层总和多个输入元素。指定为添加层总和的输入数。要稍后轻松添加连接,请指定第一个Relu层和加法层的名称。
layers = [imageInputlayer([28 28 1])卷积2Dlayer(5,16,'填充',,,,'相同的')batchnormalizationlayer relulayer('姓名',,,,'relu_1')卷积2Dlayer(3,32,,'填充',,,,'相同的',,,,“大步”,2)batchnormalizationlayer relulayer卷积2Dlayer(3,32,'填充',,,,'相同的')batchnormalizationlayer relulayer添加剂(2,'姓名',,,,'添加')平均pooling2dlayer(2,“大步”,2)完整连接的layerer(10)SoftMaxlayer ClassificationLayer];
从图层数组创建图层图。LayerGraph
连接所有层层
顺序。绘制图层图。
lgraph = layergraph(layers);图(lgraph)
创建1 by-1卷积层,然后将其添加到图层图中。指定卷积过滤器和步幅的数量,以使激活尺寸与第三层层层的激活大小相匹配。该布置使加法层添加第三个relu层和1 by-1卷积层的输出。要检查图层是否在图中,请绘制图层图。
skipconv =卷积2Dlayer(1,32,“大步”,2,'姓名',,,,'skipconv');lgraph = addlayers(lgraph,skipconv);图(lgraph)
从'relu_1'
层到达'添加'
层。因为您将两个指定为加法层的输入数量,所以该层具有两个命名的输入'in1'
和'in2'
。第三层层已经连接到'in1'
输入。连接'relu_1'
层到达'skipconv'
层和'skipconv'
层到达'in2'
输入'添加'
层。现在,加法层总结了第三个relu层的输出和'skipconv'
层。要检查层是否正确连接,请绘制图层图。
lgraph =连接器(lgraph,'relu_1',,,,'skipconv');lgraph =连接器(lgraph,'skipconv',,,,'add/in2');图图(lgraph);
加载培训和验证数据,该数据由数字的28 x 28灰度图像组成。
[Xtrain,Ytrain] = DigitTrain4DarrayData;[xvalidation,yvalidation] = digittest4darraydata;
指定培训选项并培训网络。火车网
使用验证数据验证网络验证频率
迭代。
选项=训练('sgdm',,,,...“ maxepochs”,8,...“洗牌”,,,,“每个段”,,,,...'验证data',{xvalidation,yvalidation},...“验证频率”,30,...“冗长”,错误的,...“绘图”,,,,“训练过程”);net = trainnetwork(Xtrain,Ytrain,Lgraph,选项);
显示受过训练的网络的属性。网络是一个dagnetwork
目的。
网
net =带有属性的dagnetwork:layers:[16x1 nnet.cnn.layer.layer] connections:[16x2 table] inputNames:{'imageInput'} outputnames:{'classOutput'}
对验证图像进行分类并计算精度。网络非常准确。
ypredistic =分类(net,xvalidation);精度=平均值(ypredifate == yvalidation)
精度= 0.9934
版本历史记录
matlab命令
您单击了与此MATLAB命令相对应的链接:
通过在MATLAB命令窗口中输入该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您还可以从以下列表中选择一个网站:
如何获得最佳网站性能
选择中国网站(中文或英语)以获得最佳场地性能。其他Mathworks乡村网站未针对您所在的访问进行优化。
美洲
- AméricaLatina(Español)
- 加拿大(英语)
- 美国(英语)