maxunpool

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

Описание

Максимальная операция необъединения не объединяет выход максимальной операции объединения путем повышающей дискретизации и дополнения нулями.

maxunpool функция применяет максимальную операцию необъединения к dlarray данные. Используя dlarray объекты делают работу с высокими размерными данными легче, позволяя вам пометить размерности. Например, можно пометить, которому размерности соответствуют пространственный, время, канал, и обрабатывают размерности в пакетном режиме с помощью 'S'TC, и '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'

Примените 1D максимальное объединение с объединением областей размера 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