depthToSpace

Переставьте dlarray данные из размерности глубины в пространственные блоки

Описание

пример

Y = depthToSpace(X,blockSize) переставляет данные форматированного dlarray объект, X, от размерности глубины до пространственных блоков размера blockSize.

Учитывая входную карту признаков размера [H W C * <reservedrangesplaceholder1> <reservedrangesplaceholder0>width] и блоки размера [<reservedrangesplaceholder6> <reservedrangesplaceholder5>] , размер карты функции выхода - [H * <reservedrangesplaceholder3> <reservedrangesplaceholder2> * <reservedrangesplaceholder1> <reservedrangesplaceholder0>].

Эта функция требует Deep Learning Toolbox™.

пример

Y = depthToSpace(X,blockSize,Name,Value) изменяет аспекты операции перестройки глубины в пространство с помощью аргументов имя-значение. Если X является неформатированным dlarray, затем необходимо задать DataFormat аргумент пары "имя-значение".

Примеры

свернуть все

Создайте числовой массив 2 высоты и 2 ширины, который имитирует глубинную конкатенацию блоков размера 2 на 2.

X = reshape(1:48,2,2,12);

Создайте dlarray объект, который содержит числовые данные, задающий формат данных как 'SSC' (пространственный, пространственный, канальный).

X = dlarray(X,'SSC')
X = 
  2(S) x 2(S) x 12(C) dlarray


(:,:,1) =

     1     3
     2     4


(:,:,2) =

     5     7
     6     8


(:,:,3) =

     9    11
    10    12


(:,:,4) =

    13    15
    14    16


(:,:,5) =

    17    19
    18    20


(:,:,6) =

    21    23
    22    24


(:,:,7) =

    25    27
    26    28


(:,:,8) =

    29    31
    30    32


(:,:,9) =

    33    35
    34    36


(:,:,10) =

    37    39
    38    40


(:,:,11) =

    41    43
    42    44


(:,:,12) =

    45    47
    46    48

  2(S) x 2(S) x 12(C) dlarray

Задайте размер блока 2 на 2 для переупорядочивания входных активаций.

blockSize = 2;

Переставьте блоки данных из размера глубины в пространственные размерности.

Z = depthToSpace(X,blockSize)
Z = 
  4(S) x 4(S) x 3(C) dlarray


(:,:,1) =

     1    13     3    15
    25    37    27    39
     2    14     4    16
    26    38    28    40


(:,:,2) =

     5    17     7    19
    29    41    31    43
     6    18     8    20
    30    42    32    44


(:,:,3) =

     9    21    11    23
    33    45    35    47
    10    22    12    24
    34    46    36    48

Создайте числовой массив 2 высоты и 2 ширины, который имитирует глубинную конкатенацию блоков размера 2 на 2.

X = reshape(1:48,2,2,12);

Создайте неотключенное dlarray объект, который содержит числовые данные.

dlX = dlarray(X);

Задайте размер блока 2 на 2 для переупорядочивания входных активаций.

blockSize = 2;

Переставьте блоки данных с размера глубины на пространственные размерности, задавая формат данных. Упорядочивайте данные по столбцам, строкам и затем по глубине.

dlZ = depthToSpace(dlX,blockSize,"DataFormat","SSC","Mode","CRD")
dlZ = 
  4x4x3 dlarray


(:,:,1) =

     1     5     3     7
     9    13    11    15
     2     6     4     8
    10    14    12    16


(:,:,2) =

    17    21    19    23
    25    29    27    31
    18    22    20    24
    26    30    28    32


(:,:,3) =

    33    37    35    39
    41    45    43    47
    34    38    36    40
    42    46    44    48

Входные параметры

свернуть все

Данные глубокого обучения для перестройки, заданные как dlarray (Deep Learning Toolbox) объект.

Размер блока для переупорядочивания активации входа, заданный как положительное целое число или вектор двух положительных целых чисел формы [h w], где h - высота и w - ширина. Когда вы задаете blockSize в качестве скаляра функция использует одно и то же значение для обеих размерностей.

Пример: [2 4] определяет блоки высоты 2 и ширины 4.

Пример: 32 определяет блоки высоты и ширины 32.

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

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

Пример: 'DataFormat',"SSC" задает массив с двумя пространственными размерностями и одним размером канала, подходящим для 2-D данных изображения RGB.

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

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

  • C - Канал

  • B - Пакетные наблюдения

Метки «T» (время или последовательность) и «U» (не заданные) не поддерживаются. Не задавайте 'DataFormat'аргумент, когда входные данные глубокого обучения являются форматированным dlarray объект.

Пример: "SSCB" указывает, что массив имеет две пространственные размерности, одну размерность канала и одну размерность пакета.

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

Порядок переставленных размерностей из входных данных глубокого обучения X, заданный как "DCR" или "CRD". Когда вы задаете "DCR"функция упорядочивает данные по глубине, столбцу и затем строке. Когда вы задаете "CRD"функция упорядочивает данные по столбцам, строкам и затем по глубине.

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

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

свернуть все

Переставленные данные глубокого обучения, возвращенные как dlarray (Deep Learning Toolbox) объект.

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

Введенный в R2021a