exponenta event banner

maxunpool

Распаковка выходных данных операции максимального объединения

Описание

Операция максимальной распаковки распаковывает выходные данные операции максимальной распаковки путем увеличения дискретизации и заполнения нулями.

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

Примечание

Применение максимальной отмены охлаждения в пределах layerGraph объект или Layer массив, использование maxUnpooling2dLayer.

пример

dlY = maxunpool(dlX,indx,outputSize) увеличивает пространственные или временные размеры входных данных dlX для соответствия размеру outputSize. Данные заполняются нулями между расположениями максимальных значений, указанных в indx. Вход dlX является отформатированным dlarray с метками размеров. Продукция dlY является отформатированным dlarray с теми же метками размеров, что и dlX.

dlY = maxunpool(dlX,indx,outputSize,'DataFormat',FMT) также задает формат размера FMT когда dlX не является отформатированным dlarray. Продукция dlY является неформатированным dlarray с тем же порядком размеров, что и dlX.

Примеры

свернуть все

Создание форматированного 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, используя шаг 2.

[dlY,indx,dataSize] = maxpool(dlX,2,'Stride',2);

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

size(dlY)
ans = 1×4

    14    14     3   128

dims(dlY)
ans = 
'SSCB'

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

dataSize
dataSize = 1×4

    28    28     3   128

Распакуйте данные с помощью индексов и размера данных из maxpool операция.

dlY = maxunpool(dlY,indx,dataSize);

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

size(dlY)
ans = 1×4

    28    28     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, используя maxpool путем указания 'PoolFormat' и 'Stride' варианты.

poolSize = 2;
[dlY,indx,dataSize] = maxpool(dlX,poolSize,'PoolFormat','T','Stride',2);

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

size(dlY)
ans = 1×3

    12   128    50

dims(dlY)
ans = 
'CBT'

Распакуйте данные с помощью индексов и размера данных из maxpool операция.

dlY = maxunpool(dlY,indx,dataSize);

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

size(dlY)
ans = 1×3

    12   128   100

dims(dlY)
ans = 
'CBT'

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

свернуть все

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

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

Функция, распаковывает 'S' (пространственный) и 'T' размеры данных, которые должны иметь размеры, указанные outputSize.

Индексы максимальных значений в каждой объединенной области, указанные как dlarray.

Использовать выходные индексы maxpool в качестве функции indx вход в maxunpool.

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

Используйте выходные данные размера maxpool в качестве функции outputSize вход в maxunpool.

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

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

  • 'C' - Канал

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

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

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

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

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

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

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

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

свернуть все

Незаполненные данные, возвращенные как dlarray. Продукция dlY имеет тот же базовый тип данных, что и входной dlX.

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

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

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