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 條件約束

InputTensorOutputTensor 必須具有相同 的 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