主要内容

getLearnRateFactor

得到层可学习参数的学习率因子

描述

例子

因素= getLearnRateFactor (parameterName返回具有名称的可学习参数的学习率因子parameterName

对于内置层,您可以使用相应的属性直接获得学习速率因子。例如,对于aconvolution2dLayer层,语法因子= getlearnnratefactor(层,'权重')等于因子=层。WeightLearnRateFactor

例子

因素= getLearnRateFactor (parameterPath返回路径指定的参数的学习速率因子parameterPath.类型中的参数时使用此语法dlnetwork对象在自定义层中。

例子

因素= getLearnRateFactor (layerNameparameterName返回具有名称的参数的学习速率因子parameterName在带有name的层中layerName对于指定的dlnetwork对象。

例子

因素= getLearnRateFactor (parameterPath返回路径指定的参数的学习速率因子parameterPath.当参数位于嵌套层时使用此语法。

例子

全部折叠

设置并获取自定义PReLU层的一个可学习参数的学习率因子。

创建一个包含自定义层的层数组preluLayer,附上实例作为支持文件。万博1manbetx要访问此层,请将此示例作为活动脚本打开。

层= [...imageInputLayer([28 28 1]) convolution2dLayer(5,20) batchNormalizationLayer preluLayer fullyConnectedLayer(10) softmaxLayer classificationLayer];

属性的学习速率因子α的可学习参数preluLayer2。

layers(4) = setLearnRateFactor(layers(4),“阿尔法”2);

查看更新后的学习速率因子。

因子= getLearnRateFactor(图层(4),“阿尔法”
因子= 2

设置并获得嵌套层的一个可学习参数的学习率因子。

使用自定义层创建一个剩余块层residualBlockLayer作为支持文件附在本示例中。万博1manbetx要访问此文件,请将此示例作为Live Script打开。

numFilters = 64;layer = residualBlockLayer(numFilters)
Name: " Learnable Parameters Network: [1x1 dlnetwork] State Parameters无属性。显示所有属性

查看嵌套网络的层数。

layer.Network.Layers
ans = 7x1带有层的层数组:1' conv_1' 2d Convolution 64 3x3 convolutions with stride [1 1] and padding 'same' 2' groupnorm_1' Group Normalization Group Normalization 3 'relu_1' ReLU ReLU 4 'conv_2' 2d Convolution 64 3x3 convolutions with stride [1 1] and padding 'same' 5 'groupnorm_2' Group Normalization Group Normalization 6 'add'加法按元素添加2个输入7 'relu_2' ReLU ReLU

设置可学习参数的学习率因子“重量”层的“conv_1”2 .使用setLearnRateFactor函数。

因子= 2;层= setlearnatefactor(层,“网络/ conv_1 /重量”、因素);

方法获取更新的学习率因子getLearnRateFactor函数。

因子= getlearnatefactor(层,“网络/ conv_1 /重量”
因子= 2

设置并得到a的可学习参数的学习率因子dlnetwork对象。

创建一个dlnetwork对象。

图层= [imageInputLayer([28 28 1],“归一化”“没有”“名字”“在”20岁的)convolution2dLayer (5“名字”“conv”) batchNormalizationLayer (“名字”bn的) reluLayer (“名字”“relu”) fullyConnectedLayer (10“名字”“俱乐部”) softmaxLayer (“名字”“sm”));lgraph = layerGraph(图层);Dlnet = dlnetwork(lgraph);

属性的学习速率因子“重量”的卷积层的可学习参数为2setLearnRateFactor函数。

因子= 2;dlnet = setlearnatefactor (dlnet,“conv”“重量”、因素);

方法获取更新的学习速率因子getLearnRateFactor函数。

因子= getLearnRateFactor(dlnet,“conv”“重量”
因子= 2

中嵌套层的一个可学习参数的学习率因子dlnetwork对象。

创建一个dlnetwork对象,其中包含自定义层residualBlockLayer作为支持文件附在本示例中。万博1manbetx要访问此文件,请将此示例作为Live Script打开。

inputSize = [224 224 3];numFilters = 32;numClasses = 5;图层= [imageInputLayer(inputSize,“归一化”“没有”“名字”“在”numFilters) convolution2dLayer(7日,“步”2,“填充”“相同”“名字”“conv”) groupNormalizationLayer (所有渠道的“名字”“gn”) reluLayer (“名字”“relu”) maxPooling2dLayer (3“步”2,“名字”“马克斯”) residualBlockLayer (numFilters“名字”“res1”) residualBlockLayer (numFilters“名字”“它”) residualBlockLayer (2 * numFilters,“步”2,“IncludeSkipConvolution”,真的,“名字”“res3”) residualBlockLayer (2 * numFilters,“名字”“res4”) residualBlockLayer (4 * numFilters,“步”2,“IncludeSkipConvolution”,真的,“名字”“res5”) residualBlockLayer (4 * numFilters,“名字”“res6”) globalAveragePooling2dLayer (“名字”“差距”) fullyConnectedLayer (numClasses“名字”“俱乐部”) softmaxLayer (“名字”“sm”));Dlnet = dlnetwork(层);

查看该层中嵌套网络的层数“res1”

dlnet.Layers .Network.Layers (6)
ans = 7x1带有层的层阵列:1' conv_1'二维Convolution 32 3x3x32 convolutions with stride[1 1]和padding 'same' 2' groupnorm_1'组归一化组归一化,32个通道分成1组3 'relu_1' ReLU ReLU 4 'conv_2'二维Convolution 32 3x3x32 convolutions with stride[1 1]和padding 'same' 5 'groupnorm_2'组归一化组归一化,32个通道分成32组6 'add'添加按元素添加2个输入7 'relu_2' ReLU ReLU

设置可学习参数的学习率因子“重量”层的“conv_1”2 .使用setLearnRateFactor函数。

因子= 2;dlnet = setlearnatefactor (dlnet,“res1 /网络/ conv_1 /重量”、因素);

方法获取更新的学习率因子getLearnRateFactor函数。

因子= getLearnRateFactor(dlnet,“res1 /网络/ conv_1 /重量”
因子= 2

输入参数

全部折叠

输入层,指定为标量对象。

参数名称,指定为字符向量或字符串标量。

嵌套层中参数的路径,指定为字符串标量或字符向量。嵌套层是一个自定义层,它本身将层图定义为一个可学习的参数。

如果输入为getLearnRateFactor是嵌套层,那么参数路径有什么形式“propertyName / layerName / parameterName”,地点:

  • propertyName属性的名称是否包含dlnetwork对象

  • layerName的层名是dlnetwork对象

  • parameterName参数名称

如果嵌套层有多个级别,则使用表单指定每个级别“propertyName1 / layerName1 /…/ propertyNameN / layerNameN / parameterName”,在那里propertyName1而且layerName1对应层中的输入到getLearnRateFactor功能,随后的部分对应于更深的层次。

例子:对于层输入getLearnRateFactor,小路“网络/ conv1 /重量”指定了“重量”具有名称的层的参数“conv1”dlnetwork给出的对象层。网络

如果输入为getLearnRateFactor是一个dlnetwork对象与所需参数在一个嵌套层中,则参数路径具有形式“layerName1 / propertyName / layerName / parameterName”,地点:

  • layerName1在输入层的名称吗dlnetwork对象

  • propertyName该层的属性是否包含dlnetwork对象

  • layerName的层名是dlnetwork对象

  • parameterName参数名称

如果嵌套层有多个级别,则使用表单指定每个级别“layerName1 / propertyName1 /…/ layerNameN / propertyNameN / layerName / parameterName”,在那里layerName1而且propertyName1对应层中的输入到getLearnRateFactor功能,随后的部分对应于更深的层次。

例子:dlnetwork输入getLearnRateFactor,小路“res1 /网络/ conv1 /重量”指定了“重量”具有名称的层的参数“conv1”dlnetwork给出的对象层。网络,在那里这个层有名字吗“res1”在输入网络中

数据类型:字符|字符串

神经网络,指定为adlnetwork对象。

层名,指定为字符串标量或字符向量。

数据类型:字符|字符串

输出参数

全部折叠

参数的学习率因子,作为非负标量返回。

该软件将该因子乘以全局学习率,以确定指定参数的学习率。例如,如果因素为2,则指定参数的学习率为当前全局学习率的两倍。属性指定的设置来确定全局学习率trainingOptions函数。

版本历史

在R2017b中引入