DML_ARGMIN_OPERATOR_DESC 結構 (directml.h)
輸出輸入張量一或多個維度內最小值元素的索引。
每個輸出元素都是在輸入張量子集上套用 自 變數縮減的結果。 argmin 函式會輸出一組輸入專案內最小值專案的索引。 每個縮減所涉及的輸入元素取決於提供的輸入軸。 同樣地,每個輸出索引都與提供的輸入軸有關。 如果指定所有輸入軸,運算子就會套用單一自 變數 縮減,併產生單一輸出元素。
語法
struct DML_ARGMIN_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *OutputTensor;
UINT AxisCount;
const UINT *Axes;
DML_AXIS_DIRECTION AxisDirection;
};
成員
InputTensor
類型: const DML_TENSOR_DESC*
要從中讀取的張量。
OutputTensor
類型: const DML_TENSOR_DESC*
要寫入結果的張量。 每個輸出元素都是來自 InputTensor 之元素子集的自變數縮減結果。
- DimensionCount 必須符合 InputTensor.DimensionCount , (輸入張量的排名會保留) 。
- 大小 必須符合 InputTensor.Size,但縮小 的 Axes 中包含的維度必須大小為 1。
AxisCount
類型: UINT
要減少的座標軸數目。 此欄位會決定 Axes 陣列的大小。
Axes
類型:_Field_size_ (AxisCount) const UINT*
要減少的座標軸。 值必須位於範圍 [0, InputTensor.DimensionCount - 1]
中。
AxisDirection
DML_AXIS_DIRECTION AxisDirection;
決定當多個輸入元素具有相同值時要選取的索引。
- DML_AXIS_DIRECTION_INCREASING 傳回第一個最小值元素 (的索引,
argmin({1,2,3,2,1}) = 0
例如) - DML_AXIS_DIRECTION_DECREASING 傳回最後一個最小值元素的索引 (,例如,
argmin({1,2,3,2,1}) = 4
)
範例
本節中的範例全都使用相同的二維輸入張量。
InputTensor: (Sizes:{3, 3}, DataType:FLOAT32)
[[1, 2, 3],
[3, 0, 4],
[2, 5, 2]]
範例 1. 將 argmin 套用至數據行
AxisCount: 1
Axes: {0}
AxisDirection: DML_AXIS_DIRECTION_INCREASING
OutputTensor: (Sizes:{1, 3}, DataType:UINT32)
[[0, // argmin({1, 3, 2})
1, // argmin({2, 0, 5})
2]] // argmin({3, 4, 2})
範例 2. 將 argmin 套用至數據列
AxisCount: 1
Axes: {1}
AxisDirection: DML_AXIS_DIRECTION_INCREASING
OutputTensor: (Sizes:{3, 1}, DataType:UINT32)
[[0], // argmin({1, 2, 3})
[1], // argmin({3, 0, 4})
[0]] // argmin({2, 5, 2})
範例 3. 將 argmin 套用至整個張量 (的所有軸)
AxisCount: 2
Axes: {0, 1}
AxisDirection: DML_AXIS_DIRECTION_INCREASING
OutputTensor: (Sizes:{1, 1}, DataType:UINT32)
[[4]] // argmin({1, 2, 3, 3, 0, 4, 2, 5, 2})
備註
輸出張量大小必須與輸入張量大小相同,但縮減的座標軸必須是 1。
當 AxisDirectionDML_AXIS_DIRECTION_INCREASING時,此 API 相當於使用 DML_REDUCE_FUNCTION_ARGMIN DML_REDUCE_OPERATOR_DESC。
這項功能的子集會透過 DML_REDUCE_OPERATOR_DESC 運算符公開,而且在先前的 DirectML 功能層級上受到支援。
可用性
這個運算子是在 中 DML_FEATURE_LEVEL_3_0
引進的。
Tensor 條件約束
InputTensor 和 OutputTensor 必須具有相同的 DimensionCount。
Tensor 支援
DML_FEATURE_LEVEL_4_1和更新版本
張 | 種類 | 支援的維度計數 | 支援的資料類型 |
---|---|---|---|
InputTensor | 輸入 | 1 到 8 | FLOAT32、FLOAT16、INT64、INT32、INT16、INT8、UINT64、UINT32、UINT16、UINT8 |
OutputTensor | 輸出 | 1 到 8 | INT64、INT32、UINT64、UINT32 |
DML_FEATURE_LEVEL_3_0和更新版本
張 | 種類 | 支援的維度計數 | 支援的資料類型 |
---|---|---|---|
InputTensor | 輸入 | 1 到 8 | FLOAT32、FLOAT16、INT32、INT16、INT8、UINT32、UINT16、UINT8 |
OutputTensor | 輸出 | 1 到 8 | INT64、INT32、UINT64、UINT32 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 組建 20348 |
最低支援的伺服器 | Windows 10 組建 20348 |
標頭 | directml.h |