globalAveragePooling2dLayer

Глобальный слой субдискретизации по среднему

Описание

2D глобальный средний слой объединения выполняет субдискретизацию путем вычисления среднего значения размерностей высоты и ширины входа.

Создание

Описание

layer = globalAveragePooling2dLayer создает глобальный средний слой объединения.

пример

layer = globalAveragePooling2dLayer('Name',name) устанавливает дополнительный Name свойство.

Свойства

развернуть все

Имя слоя в виде вектора символов или строкового скаляра. Для Layer вход массивов, trainNetwork, assembleNetwork, layerGraph, и dlnetwork функции автоматически присваивают имена к слоям с Name установите на ''.

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

Это свойство доступно только для чтения.

Количество входных параметров слоя. Этот слой принимает один вход только.

Типы данных: double

Это свойство доступно только для чтения.

Введите имена слоя. Этот слой принимает один вход только.

Типы данных: cell

Это свойство доступно только для чтения.

Количество выходных параметров слоя. Этот слой имеет один выход только.

Типы данных: double

Это свойство доступно только для чтения.

Выведите имена слоя. Этот слой имеет один выход только.

Типы данных: cell

Примеры

свернуть все

Создайте глобальный средний слой объединения с именем 'gap1'.

layer = globalAveragePooling2dLayer('Name','gap1')
layer = 
  GlobalAveragePooling2DLayer with properties:

    Name: 'gap1'

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

layers = [ ...
    imageInputLayer([28 28 1])
    convolution2dLayer(5,20)
    reluLayer
    globalAveragePooling2dLayer
    fullyConnectedLayer(10)
    softmaxLayer
    classificationLayer]
layers = 
  7x1 Layer array with layers:

     1   ''   Image Input                  28x28x1 images with 'zerocenter' normalization
     2   ''   Convolution                  20 5x5 convolutions with stride [1  1] and padding [0  0  0  0]
     3   ''   ReLU                         ReLU
     4   ''   2-D Global Average Pooling   2-D global average pooling
     5   ''   Fully Connected              10 fully connected layer
     6   ''   Softmax                      softmax
     7   ''   Classification Output        crossentropyex

Советы

  • В сети классификации изображений можно использовать globalAveragePooling2dLayer перед итоговым полносвязным слоем, чтобы уменьшать размер активаций, не жертвуя эффективностью. Уменьшаемый размер активаций означает, что нисходящие полносвязные слоя будут иметь меньше весов, уменьшая размер вашей сети.

  • Можно использовать globalAveragePooling2dLayer к концу сети классификации вместо fullyConnectedLayer. Поскольку глобальные слои объединения не имеют никаких настраиваемых параметров, они могут быть менее подвержены сверхподбору кривой и могут уменьшать размер сети. Эти сети могут также быть более устойчивыми к пространственным переводам входных данных. Можно также заменить полносвязный слой на globalMaxPooling2dLayer вместо этого. Ли globalMaxPooling2dLayer или globalAveragePooling2dLayer является более соответствующим, зависит от вашего набора данных.

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

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Генерация кода графического процессора
Сгенерируйте код CUDA® для NVIDIA® графические процессоры с помощью GPU Coder™.

Введенный в R2019b