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


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

Создает выходной тензор путем укладки входного тензора. Элементы в каждом измерении входного тензора повторяются кратным в массиве Repeats .

Синтаксис

struct DML_TILE_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputTensor;
  const DML_TENSOR_DESC *OutputTensor;
  UINT                  RepeatsCount;
  const UINT            *Repeats;
};

Члены

InputTensor

Тип: const DML_TENSOR_DESC*

Тензор для считывания, который содержит элементы для плитки.

OutputTensor

Тип: const DML_TENSOR_DESC*

Тензор для записи, который будет содержать фрагментированные выходные данные. Для каждого измерения i в [0, InputTensor.DimensionCount-1]выходной размер вычисляется как OutputTensor.Sizes[i] = InputTensor.Sizes[i] * Repeats[i]. Этот тензор должен иметь тот же размер DimensionCount , что и входной тензор.

RepeatsCount

Тип: UINT

Это поле определяет размер массива Repeats . Это значение должно совпадать с inputTensor.DimensionCount.

Repeats

Тип: const UINT*

Каждое значение в этом массиве соответствует одному из измерений входного тензора (по порядку). Каждое значение — это количество фрагментированных копий этого измерения. Значения должны быть больше 0.

Примеры

RepeatsCount: 4
Repeats: {1, 1, 3, 3}

InputTensor: (Sizes:{1, 1, 2, 3}, DataType:FLOAT32)
[[[[1, 2, 3]
   [4, 5, 6]]]]

InputTensor: (Sizes:{1, 1, 6, 9}, DataType:FLOAT32)
[[[[1, 2, 3, 1, 2, 3, 1, 2, 3]
   [4, 5, 6, 4, 5, 6, 4, 5, 6] 
   [1, 2, 3, 1, 2, 3, 1, 2, 3] 
   [4, 5, 6, 4, 5, 6, 4, 5, 6] 
   [1, 2, 3, 1, 2, 3, 1, 2, 3] 
   [4, 5, 6, 4, 5, 6, 4, 5, 6]]]]

Доступность

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

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

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

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

DML_FEATURE_LEVEL_4_1 и выше

Тензор Kind Поддерживаемые счетчики измерений Поддерживаемые типы данных
InputTensor Входные данные От 1 до 8 FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8
OutputTensor Выходные данные От 1 до 8 FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8

DML_FEATURE_LEVEL_3_1 и выше

Тензор Kind Поддерживаемые счетчики измерений Поддерживаемые типы данных
InputTensor Входные данные От 1 до 8 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Выходные данные От 1 до 8 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8

DML_FEATURE_LEVEL_2_1 и выше

Тензор Kind Поддерживаемые счетчики измерений Поддерживаемые типы данных
InputTensor Входные данные 4 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Выходные данные 4 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8

DML_FEATURE_LEVEL_1_0 и выше

Тензор Kind Поддерживаемые счетчики измерений Поддерживаемые типы данных
InputTensor Входные данные 4 FLOAT32, FLOAT16
OutputTensor Выходные данные 4 FLOAT32, FLOAT16

Требования

   
Верхняя часть directml.h