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++ с помощью Coder™ MATLAB ®

.

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

.
Введенный в R2019b