connectLayers
在神经网络中连接各层
说明
将源层 netUpdated
= connectLayers(net
,s
,d
)s
连接到 dlnetwork
对象 net
中的目标层 d
。更新后的网络 netUpdated
包含与 net
相同的层,并包含新的连接。
示例
创建一个空的神经网络 dlnetwork
对象,并添加一个包含两个输入且名称为 'add'
的相加层。
net = dlnetwork; layer = additionLayer(2,'Name','add'); net = addLayers(net,layer);
向神经网络添加两个 ReLU 层,并将它们连接到相加层。相加层输出 ReLU 层的输出总和。
layer = reluLayer('Name','relu1'); net = addLayers(net,layer); net = connectLayers(net,'relu1','add/in1'); layer = reluLayer('Name','relu2'); net = addLayers(net,layer); net = connectLayers(net,'relu2','add/in2');
在图中可视化更新后的网络。
plot(net)
定义一个双输出神经网络,该神经网络在给定二维图像作为输入的情况下预测分类标签和数值。
指定类和响应的数量。
numClasses = 10; numResponses = 1;
创建一个空的神经网络。
net = dlnetwork;
定义网络主分支的各层和 softmax 输出。
layers = [ imageInputLayer([28 28 1],Normalization="none") convolution2dLayer(5,16,Padding="same") batchNormalizationLayer reluLayer(Name="relu_1") convolution2dLayer(3,32,Padding="same",Stride=2) batchNormalizationLayer reluLayer convolution2dLayer(3,32,Padding="same") batchNormalizationLayer reluLayer additionLayer(2,Name="add") fullyConnectedLayer(numClasses) softmaxLayer(Name="softmax")]; net = addLayers(net,layers);
添加跳过连接。
layers = [ convolution2dLayer(1,32,Stride=2,Name="conv_skip") batchNormalizationLayer reluLayer(Name="relu_skip")]; net = addLayers(net,layers); net = connectLayers(net,"relu_1","conv_skip"); net = connectLayers(net,"relu_skip","add/in2");
为回归输出添加全连接层。
layers = fullyConnectedLayer(numResponses,Name="fc_2"); net = addLayers(net,layers); net = connectLayers(net,"add","fc_2");
查看图中的神经网络。
figure plot(net)
输入参数
输出参量
更新后的网络,以未初始化的 dlnetwork
对象形式返回。
要初始化 dlnetwork
对象的可学习参数,请使用 initialize
函数。
connectLayers
函数不会保留量化信息。如果输入网络是量化网络,则输出网络不包含量化信息。
版本历史记录
在 R2017b 中推出从 R2024a 开始,不推荐使用 LayerGraph
对象。请改用 dlnetwork
对象。这意味着不推荐将以下语法用于 LayerGraph
输入:
lgraphUpdated = connectLayers(lgraph,s,d)
大多数支持 LayerGraph
对象的函数也支持 dlnetwork
对象。下表显示了 LayerGraph
对象的一些典型用法,以及如何更新您的代码以改用 dlnetwork
对象函数。
不推荐 | 推荐 |
---|---|
lgraph = layerGraph; | net = dlnetwork; |
lgraph = layerGraph(layers); | net = dlnetwork(layers,Initialize=false); |
lgraph = layerGraph(net); | net = dag2dlnetwork(net); |
lgraph = addLayers(lgraph,layers); | net = addLayers(net,layers); |
lgraph = removeLayers(lgraph,layerNames); | net = removeLayers(net,layerNames); |
lgraph = replaceLayer(lgraph,layerName,layers); | net = replaceLayer(net,layerName,layers); |
lgraph = connectLayers(lgraph,s,d); | net = connectLayers(net,s,d); |
lgraph = disconnectLayers(lgraph,s,d); | net = disconnectLayers(net,s,d); |
plot(lgraph); | plot(net); |
要训练指定为 dlnetwork
对象的神经网络,请使用 trainnet
函数。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)