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
引入的。
张量约束
InputTensor 和 OutputTensor 必须具有相同的 数据类型。
张量支持
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 |