globalAveragePooling2dLayer

Глобальный средний слой объединения

Описание

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

Создание

Описание

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

пример

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

Свойства

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

Имя слоя в виде вектора символов или строкового скаляра. Чтобы включать слой в график слоев, необходимо задать непустое, уникальное имя слоя. Если вы обучаете серийную сеть со слоем и 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   ''   Global Average Pooling   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