exponenta event banner

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 ® с помощью Coder™ графических процессоров

.
Представлен в R2019b