initialize

Инициализируйте настраиваемые параметры и параметры состояния dlnetwork

    Описание

    пример

    Совет

    Большая часть dlnetwork объекты инициализируются по умолчанию. Только необходимо вручную инициализировать dlnetwork если это является неинициализированным. Можно проверять, инициализируется ли сеть с помощью Initialized свойство dlnetwork объект.

    dlnet = initialize(dlnet) инициализирует любые настраиваемые параметры сброса и значения состояния dlnet на основе входных размеров, заданных сетевыми входными слоями. Любые настраиваемые параметры или параметры состояния, которые уже содержат значения, остаются неизменными.

    Сеть со сбросом, пустыми значениями для настраиваемых параметров и параметров состояния является неинициализированной. Необходимо инициализировать неинициализированный dlnetwork прежде чем можно будет использовать его. По умолчанию, dlnetwork объекты создаются начальными параметрами и не нуждаются в инициализации.

    пример

    dlnet = initialize(dlnet,dlX1,...,dlXn) инициализирует любые настраиваемые параметры сброса и значения состояния dlnet на основе примера сеть вводит dlX1,...,dlXn. Используйте этот синтаксис, когда сеть имеет входные параметры, которые не соединяются с входным слоем.

    Примеры

    свернуть все

    Используйте initialize функция, чтобы инициализировать 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')];

    Создайте неинициализированный dlnetwork. Установите Initialize опция значения имени ко лжи.

    dlnet = dlnetwork(layers,'Initialize',false);

    Исследуйте настраиваемые параметры слоя свертки.

    dlnet.Learnables.Value(dlnet.Learnables.Layer=='conv')
    ans = 
        {0×0 double}
        {0×0 double}
    

    Поскольку сеть не инициализируется, настраиваемые параметры слоя свертки пусты.

    Инициализируйте настраиваемые параметры сети с начальными значениями.

    dlnet = initialize(dlnet);

    Проверяйте настраиваемые параметры слоя свертки после инициализации.

    dlnet.Learnables.Value(dlnet.Learnables.Layer=='conv')
    ans = 
        {5×5×1×20 dlarray}
        {1×1×20   dlarray}
    

    Настраиваемые параметры слоя свертки теперь инициализируются начальными значениями соответствующего размера на основе размера входных данных.

    Проверяйте, что сеть инициализируется и готова к обучению.

    dlnet.Initialized
    ans = 
       1
    

    Используйте initialize функция, чтобы инициализировать мультивход dlnetwork объект, который содержит входной слой того и один несвязанный вход.

    Определить сетевую архитектуру. Создайте сеть с двумя ветвями. Сеть берет два входных параметров с одним входом на ветвь. Первая ветвь содержит входной слой, в то время как вторая ветвь не делает. Соедините ветви с помощью слоя сложения.

    numFilters = 24;
    inputSize = [64 64 3];
    
    layersBranch1 = [
        imageInputLayer(inputSize,'Normalization','None','Name','in')
        convolution2dLayer(3,6*numFilters,'Padding','same','Stride',2,'Name','conv1Branch1')
        groupNormalizationLayer('all-channels','Name','gn1Branch1')
        reluLayer('Name','relu1Branch1')
        convolution2dLayer(3,numFilters,'Padding','same','Name','conv2Branch1')
        groupNormalizationLayer('channel-wise','Name','gn2Branch1')
        additionLayer(2,'Name','add')
        reluLayer('Name','reluCombined')
        fullyConnectedLayer(10,'Name','fc')
        softmaxLayer('Name','sm')];
    
    layersBranch2 = [
        convolution2dLayer(1,numFilters,'Name','convBranch2')
        groupNormalizationLayer('all-channels','Name','gnBranch2')];
    
    lgraph = layerGraph(layersBranch1);
    lgraph = addLayers(lgraph,layersBranch2);
    lgraph = connectLayers(lgraph,'gnBranch2','add/in2');  

    Преобразуйте сеть в dlnetwork. Создать dlnetwork объект без начальных значений настраиваемых параметров и параметров состояния, набор Initialize опция значения имени ко лжи..

    dlnet = dlnetwork(lgraph,'Initialize',false);

    Исследуйте настраиваемые параметры второго слоя нормализации группы в первой ветви сети.

    dlnet.Learnables.Value(dlnet.Learnables.Layer=='gn2Branch1')
    ans = 
        {0×0 double}
        {0×0 double}
    

    Поскольку сеть не инициализируется, настраиваемые параметры слоя пусты.

    Смотрите порядок сетевых входных параметров.

    dlnet.InputNames
    ans = 1×2 cell    
    'in'         'convBranch2'       
    

    Создайте входные данные в качестве примера с тем же размером и форматом как типичные сетевые входные параметры. Используйте вход в качестве примера размера 64 64 с 3 каналами для входа к входному слою in. Используйте вход размера 64 64 с 18 каналами для несвязанного входа к слою convBranch2.

    dlX1 = dlarray(rand(inputSize),"SSCB");
    dlX2 = dlarray(rand([32 32 18]),"SSCB");

    Инициализируйте настраиваемые параметры сети с помощью входных параметров в качестве примера.

    dlnet = initialize(dlnet,dlX1,dlX2);

    Проверяйте настраиваемые параметры слоя свертки после инициализации.

    dlnet.Learnables.Value(dlnet.Learnables.Layer=='gn2Branch1')
    ans = 
        {1×1×24 dlarray}
        {1×1×24 dlarray}
    

    Настраиваемые параметры слоя свертки теперь инициализируются начальными значениями соответствующего размера на основе размера входных данных.

    Используйте Initialized свойство сети проверять, что сеть инициализируется и готова к обучению.

    dlnet.Initialized
    ans = 
       1
    

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

    свернуть все

    Неинициализированная сеть в виде dlnetwork объект.

    Сеть Example вводит в виде dlarray объекты.

    Входными параметрами в качестве примера должен быть отформатированный dlarray объекты. Обеспечьте входные параметры в качестве примера в том же порядке как порядок, заданный InputNames свойство входной сети.

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

    свернуть все

    Инициализированная сеть, возвращенная как dlnetwork объект.

    Введенный в R2021a