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.

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

Используйте выход of 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