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*
要寫入的張量,這會保存磚輸出。 針對 中的每個 [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
引進的。
Tensor 條件約束
InputTensor 和 OutputTensor 必須具有相同 的 DataType。
Tensor 支援
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 |