Поделиться через


структура DML_DEPTH_TO_SPACE_OPERATOR_DESC (directml.h)

Переупорядочение (перестановка) данных из глубины в блоки пространственных данных. Оператор выводит копию входного тензора, в котором значения из измерения глубины перемещаются в пространственных блоках в размеры высоты и ширины.

Это обратное преобразование DML_SPACE_TO_DEPTH_OPERATOR_DESC.

Синтаксис

struct DML_DEPTH_TO_SPACE_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputTensor;
  const DML_TENSOR_DESC *OutputTensor;
  UINT                  BlockSize;
};

Члены

InputTensor

Тип: const DML_TENSOR_DESC*

Тензор для чтения. Измерения входного тензора — { BatchCount, InputChannelCount, InputHeight, InputWidth }.

OutputTensor

Тип: const DML_TENSOR_DESC*

Тензор для записи результатов. Размеры выходного тензора — { BatchCount, OutputChannelCount, OutputHeight, OutputWidth }, где:

  • OutputChannelCount вычисляется как InputChannelCount / (BlockSize * BlockSize).
  • OutputHeight вычисляется как InputHeight * BlockSize.
  • OutputWidth вычисляется как InputWidth * BlockSize.

BlockSize

Тип: UINT

Ширина и высота перемещаемых блоков.

Пример

BlockSize: 2
InputTensor: (Sizes:{1, 8, 2, 3}, DataType:UINT32)
[[[[0,   1,  2],
   [3,   4,  5]],
  [[9,  10, 11],
   [12, 13, 14]],
  [[18, 19, 20],
   [21, 22, 23]],
  [[27, 28, 29],
   [30, 31, 32]],
  [[36, 37, 38],
   [39, 40, 41]],
  [[45, 46, 47],
   [48, 49, 50]],
  [[54, 55, 56],
   [57, 58, 59]],
  [[63, 64, 65],
   [66, 67, 68]]]]

OutputTensor: (Sizes:{1, 2, 4, 6}, DataType:UINT32)
 [[[[ 0, 18,  1, 19,  2, 20],
    [36, 54, 37, 55, 38, 56],
    [ 3, 21,  4, 22,  5, 23],
    [39, 57, 40, 58, 41, 59]],
   [[ 9, 27, 10, 28, 11, 29],
    [45, 63, 46, 64, 47, 65],
    [12, 30, 13, 31, 14, 32],
    [48, 66, 49, 67, 50, 68]]]]

Комментарии

В появилась DML_FEATURE_LEVEL_2_1более новая версия этого оператора, DML_DEPTH_TO_SPACE1_OPERATOR_DESC.

Доступность

Этот оператор появился в DML_FEATURE_LEVEL_1_0.

Ограничения тензоров

InputTensor и OutputTensor должны иметь один и тот же тип DataType.

Поддержка тензоров

DML_FEATURE_LEVEL_5_0 и выше

Тензор Kind Измерения Поддерживаемые счетчики измерений Поддерживаемые типы данных
InputTensor Входные данные { BatchCount, InputChannelCount, InputHeight, InputWidth } 4 FLOAT64, FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8
OutputTensor Выходные данные { BatchCount, OutputChannelCount, OutputHeight, OutputWidth } 4 FLOAT64, FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8

DML_FEATURE_LEVEL_2_1 и выше

Тензор Kind Измерения Поддерживаемые счетчики измерений Поддерживаемые типы данных
InputTensor Входные данные { BatchCount, InputChannelCount, InputHeight, InputWidth } 4 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Выходные данные { BatchCount, OutputChannelCount, OutputHeight, OutputWidth } 4 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8

DML_FEATURE_LEVEL_1_0 и выше

Тензор Kind Измерения Поддерживаемые счетчики измерений Поддерживаемые типы данных
InputTensor Входные данные { BatchCount, InputChannelCount, InputHeight, InputWidth } 4 FLOAT32, FLOAT16
OutputTensor Выходные данные { BatchCount, OutputChannelCount, OutputHeight, OutputWidth } 4 FLOAT32, FLOAT16

Требования

Требование Значение
Заголовок directml.h

См. также раздел