如何设置输入层的嵌套深度学习在定义层

6视图(30天)
我followig这个示例创建一个costum深度学习层组成的现有层:
这个例子似乎还没有被验证是在代码中有很多拼写错误。无论如何,如示例所示,内部网络图有两个分支(可选)。但是当你看着网络定义的,没有办法连接的输入可选分支的输入新定义的层。
层= [
convolution2dLayer (3 numFilters填充= “相同” ,步=步)
groupNormalizationLayer ( “所有渠道” )
reluLayer
convolution2dLayer (3 numFilters填充= “相同” )
groupNormalizationLayer ( “channel-wise” )
additionLayer (Name = “添加” )
reluLayer)];
lgraph = layerGraph(层);
%添加跳过连接。
如果 includeSkipConvolution
层= [
convolution2dLayer (1 numFilters跨步=、步)
groupNormalizationLayer ( “所有渠道” 、名称= “gnSkip” ));
lgraph = addLayers (lgraph层);
lgraph = connectLayers (lgraph, “gnSkip” , “添加/ in2” );
结束
在这段代码中,线”lgraph = connectLayers (lgraph, “gnSkip” , “添加/ in2” );“可选分支的输出连接到输入加法器,但我该如何连接的输入可选分支的输入层(这里没有上一层)?Matlab的例子是不完整的你也会看到通过运行checkLayer命令创建的图层上。
任何帮助将不胜感激。谢谢。

答案(1)

Sandeep
Sandeep 2023年5月26日10:20
嗨,米尔科 Prezioso ,
连接的输入可选分支的输入新定义的层,您可以简单地添加一个单独的输入层嵌套层的定义,然后输入层连接到现有网络的第一层。我们可以定义一个单独的输入层使用 imageInputLayer ( )  与 适当的输入 大小和名称。然后定义了内部网络和可选skip-connection 类似的方式 MATLAB中的示例文档。下面是一个示例实现。
%示例实现
函数层= nestedConvBlock (numFilters includeSkipConvolution步)
%定义内部网络
convBlock = [
numFilters convolution2dLayer(3日,“填充”,“相同”,“步”步)
batchNormalizationLayer
reluLayer
numFilters convolution2dLayer(3日,“填充”,“相同”)
batchNormalizationLayer];
%定义可选skip-connection
如果includeSkipConvolution
skipConvolution = [
numFilters convolution2dLayer (1,“步”步,“名字”,“skipConv”)
batchNormalizationLayer (“名字”,“bnSkip”));
结束
%定义的嵌套层输入连接
input_layer = imageInputLayer ([32 32 3],“名字”,“输入”);
output_layer = convolution2dLayer (3 16“填充”,“相同”);
lgraph = layerGraph (input_layer);
lgraph = addLayers (lgraph convBlock);
lgraph = connectLayers (lgraph,“输入”,“convBlock /”);
如果includeSkipConnection
lgraph = addLayers (lgraph skipConvolution);
lgraph = connectLayers (lgraph,“输入”,“skipConv /”);
lgraph = connectLayers (lgraph,“convBlock / bn_2”,“skipConv / bnSkip”);
lgraph = connectLayers (lgraph,“convBlock / bn_2”,“总和/ in2”);
层= dlnetwork (lgraph,“OutputNames”,“和”);
其他的
lgraph = connectLayers (lgraph,“convBlock / bn_2”,“添加/ in2”);
层= dlnetwork (lgraph,“OutputNames”,“添加”);
结束
记住,这只是一种可选分支的输入连接到一个嵌套深度学习的输入层。 根据您的实现的细节,在那里 可能是其他的方法可以做到这一点。

下载188bet金宝搏


释放

R2022a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!