directml.h) (DML_TILE_OPERATOR_DESC 结构

通过平铺输入张量构造输出张量。 输入张量的每个维度中的元素由 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*

要写入的张量,用于保存平铺输出。 对于 中的每个[0, InputTensor.DimensionCount-1]维度i,输出大小计算为 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引入的。

张量约束

InputTensorOutputTensor 必须具有相同的 数据类型

张量支持

DML_FEATURE_LEVEL_4_1 及更高版本

种类 支持的维度计数 支持的数据类型
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 及更高版本

种类 支持的维度计数 支持的数据类型
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 及更高版本

种类 支持的维度计数 支持的数据类型
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 及更高版本

种类 支持的维度计数 支持的数据类型
InputTensor 输入 4 FLOAT32、FLOAT16
OutputTensor 输出 4 FLOAT32、FLOAT16

要求

   
标头 directml.h