exponenta event banner

avgpool

Объединение данных в средние значения по пространственным измерениям

Описание

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

avgpool функция применяет операцию среднего пула к dlarray данные. Используя dlarray объекты упрощают работу с высокоразмерными данными, позволяя маркировать размеры. Например, можно пометить, какие измерения соответствуют пространственным, временным, канальным и пакетным измерениям, используя 'S', 'T', 'C', и 'B' соответственно. Для неуказанных и других размеров используйте 'U' этикетка. Для dlarray функции объекта, которые работают над определенными размерами, можно указать метки размеров, отформатировав dlarray непосредственно или с помощью 'DataFormat' вариант.

Примечание

Применение среднего пула в пределах layerGraph объект или Layer используйте один из следующих слоев:

пример

dlY = avgpool(dlX,poolsize) применяет среднюю операцию объединения к отформатированной dlarray объект dlX. Функция понижает выборку входных данных, разделяя их на области, определяемые poolsize и вычисляют среднее значение данных в каждой области. Продукция dlY является отформатированным dlarray с теми же метками размеров, что и dlX.

Функция по умолчанию объединяет до трех измерений dlX маркированный 'S' (пространственный). Объединение по размерам с метками 'T' (время), укажите область объединения с 'T' измерение с использованием 'PoolFormat' вариант.

пример

dlY = avgpool(dlX,'global') вычисляет глобальное среднее по пространственным измерениям входных данных dlX. Этот синтаксис эквивалентен параметру poolsize в предыдущем синтаксисе до размера 'S' размеры dlX.

dlY = avgpool(___,'DataFormat',FMT) применяет среднюю операцию объединения к неформатированной dlarray объект dlX с форматом, указанным FMT с использованием любого из предыдущих синтаксисов. Продукция dlY является неформатированным dlarray объект с размерами в том же порядке, что и dlX. Например, 'DataFormat','SSCB' указывает данные для 2-D среднего пула с форматом 'SSCB' (пространственный, пространственный, канальный, пакетный).

пример

dlY = avgpool(___,Name,Value) указывает параметры, использующие один или несколько аргументов пары имя-значение. Например, 'PoolFormat','T' задает область пула для пула 1-D с форматом 'T' (время).

Примеры

свернуть все

Создание форматированного dlarray объект, содержащий партию 128 изображений 28 на 28 с 3 каналами. Укажите формат 'SSCB' (пространственный, пространственный, канальный, пакетный).

miniBatchSize = 128;
inputSize = [28 28];
numChannels = 3;
X = rand(inputSize(1),inputSize(2),numChannels,miniBatchSize);
dlX = dlarray(X,'SSCB');

Просмотр размера и формата входных данных.

size(dlX)
ans = 1×4

    28    28     3   128

dims(dlX)
ans = 
'SSCB'

Применение 2-D среднего пула с областями пула 2 на 2 с помощью avgpool функция.

poolSize = [2 2];
dlY = avgpool(dlX,poolSize);

Просмотр размера и формата выходных данных.

size(dlY)
ans = 1×4

    27    27     3   128

dims(dlY)
ans = 
'SSCB'

Создание форматированного dlarray объект, содержащий партию 128 изображений 28 на 28 с 3 каналами. Укажите формат 'SSCB' (пространственный, пространственный, канальный, пакетный).

miniBatchSize = 128;
inputSize = [28 28];
numChannels = 3;
X = rand(inputSize(1),inputSize(2),numChannels,miniBatchSize);
dlX = dlarray(X,'SSCB');

Просмотр размера и формата входных данных.

size(dlX)
ans = 1×4

    28    28     3   128

dims(dlX)
ans = 
'SSCB'

Применение 2-D глобального среднего пула с помощью avgpool путем указания 'global' вариант.

dlY = avgpool(dlX,'global');

Просмотр размера и формата выходных данных.

size(dlY)
ans = 1×4

     1     1     3   128

dims(dlY)
ans = 
'SSCB'

Создание форматированного dlarray объект, содержащий партию из 128 последовательностей длиной 100 с 12 каналами. Укажите формат 'CBT' (канал, партия, время).

miniBatchSize = 128;
sequenceLength = 100;
numChannels = 12;
X = rand(numChannels,miniBatchSize,sequenceLength);
dlX = dlarray(X,'CBT');

Просмотр размера и формата входных данных.

size(dlX)
ans = 1×3

    12   128   100

dims(dlX)
ans = 
'CBT'

Применение 1-D среднего пула с областями пула размера 2 с шагом 2 с помощью avgpool путем указания 'PoolFormat' и 'Stride' варианты.

poolSize = 2;
dlY = avgpool(dlX,poolSize,'PoolFormat','T','Stride',2);

Просмотр размера и формата выходных данных.

size(dlY)
ans = 1×3

    12   128    50

dims(dlY)
ans = 
'CBT'

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

свернуть все

Входные данные, указанные как форматированные или неформатированные dlarray объект.

Если dlX является неформатированным dlarray, то необходимо указать формат с помощью 'DataFormat' вариант.

Функция по умолчанию объединяет до трех измерений dlX маркированный 'S' (пространственный). Объединение по размерам с метками 'T' (время), укажите область объединения с 'T' измерение с использованием 'PoolFormat' вариант.

Размер областей пула, заданный как числовой скалярный или числовой вектор.

Чтобы использовать область пула с краями одинакового размера, укажите poolsize как скаляр. Области объединения имеют одинаковый размер по всем измерениям, указанным в 'PoolFormat'.

Чтобы использовать область пула с краями различных размеров, укажите poolsize как вектор, где poolsize(i) - размер соответствующего размера в 'PoolFormat'.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'Stride',2 определяет шаг областей пула как 2.

Размерный порядок неформатированных входных данных, указанный как разделенная запятыми пара, состоящая из 'DataFormat' и вектор символов или строковый скаляр FMT с меткой для каждого измерения данных.

При указании формата dlarray каждый символ обеспечивает метку для каждого измерения данных и должен быть одним из следующих:

  • 'S' - Пространственный

  • 'C' - Канал

  • 'B' - Партия (например, пробы и наблюдения)

  • 'T' - Время (например, временные шаги последовательностей)

  • 'U' - Не указано

Можно указать несколько размеров с метками 'S' или 'U'. Можно использовать метки 'C', 'B', и 'T' максимум один раз.

Необходимо указать 'DataFormat' если входные данные не являются отформатированными dlarray.

Пример: 'DataFormat','SSCB'

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

Порядок измерения области объединения, указанный как пара, разделенная запятыми, состоящая из 'PoolFormat' и вектор символов или строковый скаляр, который обеспечивает метку для каждого измерения области объединения.

Значение по умолчанию 'PoolFormat' зависит от задачи:

ЗадачаДефолт
1-D объединение'S' (пространственный)
2-D объединение'SS' (пространственный, пространственный)
3-D объединение'SSS' (пространственный, пространственный, пространственный)

Формат должен иметь либо нет 'S' (пространственные) размеры или столько же 'S' (пространственные) размеры в качестве входных данных.

Функция по умолчанию объединяет до трех измерений dlX маркированный 'S' (пространственный). Объединение по размерам с метками 'T' (время), укажите область объединения с 'T' измерение с использованием 'PoolFormat' вариант.

Пример: 'PoolFormat','T'

Размер шага для прохождения входных данных, указанный как разделенная запятыми пара, состоящая из 'Stride' и числовой скалярный или числовой вектор. При указании 'Stride' в качестве скаляра используется одно и то же значение для всех пространственных измерений. При указании 'Stride' в качестве вектора того же размера, что и количество пространственных измерений входных данных, используют значения вектора для соответствующих пространственных измерений.

Значение по умолчанию 'Stride' является 1. Если 'Stride' меньше, чем poolsize в любом измерении области объединения перекрываются.

Stride не поддерживается для глобального пула с помощью 'global' вариант.

Пример: 'Stride',3

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

Размер заполнения, применяемого к краям данных, определяемый как разделенная запятыми пара, состоящая из 'Padding' и одно из следующих:

  • 'same' - Размер заполнения устанавливается таким образом, чтобы выходной размер совпадал с входным размером, когда шаг 1. В более общем случае выходной размер каждого пространственного измерения равен ceil(inputSize/stride), где inputSize - размер входного сигнала вдоль пространственного размера.

  • Числовой скаляр - одинаковая величина заполнения применяется к обоим концам всех пространственных размеров.

  • Числовой вектор - вдоль каждого пространственного размера применяется различная величина заполнения. Использовать вектор размера d, где d - количество пространственных измерений входных данных. i-й элемент вектора определяет размер заполнения, применяемого к началу и концу вдоль i-й пространственный размер.

  • Числовая матрица - к началу и концу каждого пространственного размера применяется разная величина заполнения. Использовать матрицу размера 2-by-d, где d - количество пространственных измерений входных данных. Элемент (1,d) задает размер заполнения, применяемого к началу пространственного размера d. Элемент (2,d) задает размер заполнения, применяемого к концу пространственного размера d. Например, в 2-D формат [top, left; bottom, right].

'Padding' не поддерживается для глобального пула с помощью 'global' вариант.

Пример: 'Padding','same'

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

Значение, используемое для ввода на площадку, указанное как 0 или 'mean'.

При использовании 'Padding' для добавления дополнения к входу значение применяемого дополнения может быть одним из следующих:

  • 0 - Вход заполнен нулями в положениях, указанных 'Padding' вариант. Заполненные области включаются в расчет среднего значения областей объединения по краям.

  • 'mean' - Ввод дополняется средним значением области объединения в позициях, указанных в 'Padding' вариант. Заполненные области фактически исключаются из вычисления среднего значения каждой области объединения.

Пример: 'PaddingValue','mean'

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

свернуть все

Объединенные данные, возвращенные как dlarray с тем же базовым типом данных, что и dlX.

Если входные данные dlX является отформатированным dlarray, то dlY имеет тот же формат, что и dlX. Если входные данные не являются форматированными dlarray, то dlY является неформатированным dlarray с тем же порядком размеров, что и входные данные.

Подробнее

свернуть все

Среднее объединение

avgpool функция объединяет входные данные в средние значения. Для получения дополнительной информации см. определение среднего уровня объединения на averagePooling2dLayer справочная страница.

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

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