getLearnRateFactor

Доберитесь изучают фактор уровня настраиваемого параметра слоя

Описание

пример

factor = getLearnRateFactor(layer,parameterName) возвращает изучить фактор уровня настраиваемого параметра с именем parameterName в layer.

Для встроенных слоев можно получить изучить фактор уровня непосредственно при помощи соответствующего свойства. Например, для convolution2dLayer слой, синтаксис factor = getLearnRateFactor(layer,'Weights') эквивалентно factor = layer.WeightLearnRateFactor.

пример

factor = getLearnRateFactor(layer,parameterPath) возвращает изучить фактор уровня параметра, заданного путем parameterPath. Используйте этот синтаксис, когда параметр будет в dlnetwork объект в пользовательском слое.

пример

factor = getLearnRateFactor(dlnet,layerName,parameterName) возвращает изучить фактор уровня параметра с именем parameterName в слое с именем layerName для заданного dlnetwork объект.

пример

factor = getLearnRateFactor(dlnet,parameterPath) возвращает изучить фактор уровня параметра, заданного путем parameterPath. Используйте этот синтаксис, когда параметр будет во вложенном слое.

Примеры

свернуть все

Установите и получите фактор скорости обучения настраиваемого параметра пользовательского слоя PReLU.

Задайте пользовательский слой PReLU. Чтобы создать этот слой, сохраните файл preluLayer.m в текущей папке.

Создайте массив слоя включая пользовательский слой preluLayer.

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

Установитесь изучить коэффициент уровня 'Alpha' настраиваемый параметр preluLayer к 2.

layers(4) = setLearnRateFactor(layers(4),'Alpha',2);

Представление обновленный изучает фактор уровня.

factor = getLearnRateFactor(layers(4),'Alpha')
factor = 2

Установите и получите фактор скорости обучения настраиваемого параметра вложенного слоя.

Создайте остаточный слой блока с помощью пользовательского слоя residualBlockLayer присоединенный к этому примеру как вспомогательный файл. Чтобы получить доступ к этому файлу, откройте этот пример как Live Script.

numFilters = 64;
layer = residualBlockLayer(numFilters)
layer = 
  residualBlockLayer with properties:

       Name: ''

   Learnable Parameters
    Network: [1x1 dlnetwork]

  Show all properties

Просмотрите слои вложенной сети.

layer.Network.Layers
ans = 
  7x1 Layer array with layers:

     1   'conv1'   Convolution           64 3x3 convolutions with stride [1  1] and padding 'same'
     2   'gn1'     Group Normalization   Group normalization
     3   'relu1'   ReLU                  ReLU
     4   'conv2'   Convolution           64 3x3 convolutions with stride [1  1] and padding 'same'
     5   'gn2'     Group Normalization   Group normalization
     6   'add'     Addition              Element-wise addition of 2 inputs
     7   'relu2'   ReLU                  ReLU

Установитесь коэффициент скорости обучения настраиваемого параметра 'Weights' из слоя 'conv1' к 2 использованиям setLearnRateFactor функция.

factor = 2;
layer = setLearnRateFactor(layer,'Network/conv1/Weights',factor);

Получите обновленный фактор скорости обучения использование getLearnRateFactor функция.

factor = getLearnRateFactor(layer,'Network/conv1/Weights')
factor = 2

Установите и получите фактор скорости обучения настраиваемого параметра dlnetwork объект.

Создайте dlnetwork объект.

layers = [
    imageInputLayer([28 28 1],'Normalization','none','Name','in')
    convolution2dLayer(5,20,'Name','conv')
    batchNormalizationLayer('Name','bn')
    reluLayer('Name','relu')
    fullyConnectedLayer(10,'Name','fc')
    softmaxLayer('Name','sm')];

lgraph = layerGraph(layers);

dlnet = dlnetwork(lgraph);

Установитесь изучить коэффициент уровня 'Weights' настраиваемый параметр слоя свертки к 2 использованиям setLearnRateFactor функция.

factor = 2;
dlnet = setLearnRateFactor(dlnet,'conv','Weights',factor);

Доберитесь обновленные изучают фактор уровня использование getLearnRateFactor функция.

factor = getLearnRateFactor(dlnet,'conv','Weights')
factor = 2

Установите и получите фактор скорости обучения настраиваемого параметра вложенного слоя в dlnetwork объект.

Создайте dlnetwork объект, содержащий пользовательский слой residualBlockLayer присоединенный к этому примеру как вспомогательный файл. Чтобы получить доступ к этому файлу, откройте этот пример как Live Script.

inputSize = [224 224 3];
numFilters = 32;
numClasses = 5;

layers = [
    imageInputLayer(inputSize,'Normalization','none','Name','in')
    convolution2dLayer(7,numFilters,'Stride',2,'Padding','same','Name','conv')
    groupNormalizationLayer('all-channels','Name','gn')
    reluLayer('Name','relu')
    maxPooling2dLayer(3,'Stride',2,'Name','max')
    residualBlockLayer(numFilters,'Name','res1')
    residualBlockLayer(numFilters,'Name','res2')
    residualBlockLayer(2*numFilters,'Stride',2,'IncludeSkipConvolution',true,'Name','res3')
    residualBlockLayer(2*numFilters,'Name','res4')
    residualBlockLayer(4*numFilters,'Stride',2,'IncludeSkipConvolution',true,'Name','res5')
    residualBlockLayer(4*numFilters,'Name','res6')
    globalAveragePooling2dLayer('Name','gap')
    fullyConnectedLayer(numClasses,'Name','fc')
    softmaxLayer('Name','sm')];

dlnet = dlnetwork(layers);

Просмотрите слои вложенной сети в слое 'res1'.

dlnet.Layers(6).Network.Layers
ans = 
  7x1 Layer array with layers:

     1   'conv1'   Convolution           32 3x3x32 convolutions with stride [1  1] and padding 'same'
     2   'gn1'     Group Normalization   Group normalization with 32 channels split into 1 groups
     3   'relu1'   ReLU                  ReLU
     4   'conv2'   Convolution           32 3x3x32 convolutions with stride [1  1] and padding 'same'
     5   'gn2'     Group Normalization   Group normalization with 32 channels split into 32 groups
     6   'add'     Addition              Element-wise addition of 2 inputs
     7   'relu2'   ReLU                  ReLU

Установитесь коэффициент скорости обучения настраиваемого параметра 'Weights' из слоя 'conv1' к 2 использованиям setLearnRateFactor функция.

factor = 2;
dlnet = setLearnRateFactor(dlnet,'res1/Network/conv1/Weights',factor);

Получите обновленный фактор скорости обучения использование getLearnRateFactor функция.

factor = getLearnRateFactor(dlnet,'res1/Network/conv1/Weights')
factor = 2

Входные параметры

свернуть все

Введите слой в виде скалярного Layer объект.

Название параметра в виде вектора символов или строкового скаляра.

Путь к параметру во вложенном слое в виде строкового скаляра или вектора символов. Вложенный слой является пользовательским слоем, который самим задает график слоев как настраиваемый параметр.

Если вход к getLearnRateFactor вложенный слой, затем путь к параметру имеет форму "propertyName/layerName/parameterName", где:

  • propertyName имя свойства, содержащего dlnetwork объект

  • layerName имя слоя в dlnetwork объект

  • parameterName имя параметра

Если существует несколько уровней вложенных слоев, то задают каждый уровень с помощью формы "propertyName1/layerName1/.../propertyNameN/layerNameN/parameterName", где propertyName1 и layerName1 соответствуйте слою во входе к getLearnRateFactor функция и последующие части соответствуют более глубоким уровням.

Пример: Для входа слоя к getLearnRateFactor, путь "Network/conv1/Weights" задает "Weights" параметр слоя с именем "conv1" в dlnetwork объект дан layer.Network.

Если вход к 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/Network/conv1/Weights" задает "Weights" параметр слоя с именем "conv1" в dlnetwork объект дан layer.Network, где layer слой с именем "res1" во входной сети dlnet.

Типы данных: char | string

Сеть для пользовательских учебных циклов в виде dlnetwork объект.

Имя слоя в виде строкового скаляра или вектора символов.

Типы данных: char | string

Выходные аргументы

свернуть все

Фактор скорости обучения для параметра, возвращенного как неотрицательный скаляр.

Программное обеспечение умножает этот фактор на глобальную скорость обучения, чтобы определить скорость обучения для заданного параметра. Например, если factor 2, затем скорость обучения для заданного параметра является дважды текущей глобальной скоростью обучения. Программное обеспечение определяет глобальную скорость обучения на основе настроек, заданных с trainingOptions функция.

Введенный в R2017b
Для просмотра документации необходимо авторизоваться на сайте