DML_RESAMPLE1_OPERATOR_DESC結構 (directml.h)
使用縮放比例來計算目的地張量大小,將元素從來源重新取樣至目的地張量。 您可以使用線性或最接近的芳鄰插補點模式。 運算符支援跨多個維度的插補,而不只是 2D。 因此,您可以保留相同的空間大小,但跨通道或批次插補。 輸入和輸出座標之間的關聯性如下。
OutputTensorX = (InputTensorX + InputPixelOffset) * Scale + OutputPixelOffset
語法
struct DML_RESAMPLE1_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *OutputTensor;
DML_INTERPOLATION_MODE InterpolationMode;
UINT DimensionCount;
const FLOAT *Scales;
const FLOAT *InputPixelOffsets;
const FLOAT *OutputPixelOffsets;
};
成員
InputTensor
類型: const DML_TENSOR_DESC*
包含輸入數據的張量。
OutputTensor
類型: const DML_TENSOR_DESC*
要寫入輸出數據的張量。
InterpolationMode
此欄位會決定用來選擇輸出圖元的插補類型。
DML_INTERPOLATION_MODE_NEAREST_NEIGHBOR。 使用 近鄰 演算法,其會為每個輸出元素選擇最接近對應圖元中心的輸入元素。
DML_INTERPOLATION_MODE_LINEAR。 使用 線性插補 演算法,計算每個維度 2 個鄰近輸入元素的加權平均值,以計算輸出元素。 支援最多 4 個維度的重新取樣 (四邊線) ,其中每個輸出元素的總 16 個輸入元素會計算加權平均值。
DimensionCount
類型: UINT
Scales、InputPixelOffsets 和 OutputPixelOffsets 指向的陣列中的值數目。 此值必須符合 InputTensor 和 OutputTensor 的維度計數。
Scales
類型:_Field_size_ (DimensionCount) const FLOAT*
重新取樣輸入時要套用的縮放比例,其中 > 會相應增加1個影像,並 < 相應減少該維度的影像1。 請注意,小數字數不需要完全是 OutputSize / InputSize
。 如果縮放后的輸入大於輸出系結,我們會將其裁剪為輸出大小。 另一方面,如果調整后的輸入小於輸出系結,則會限制輸出邊緣。
InputPixelOffsets
類型:_Field_size_ (DimensionCount) const FLOAT*
重新取樣之前要套用至輸入圖元的位移。 當此值為 0
時,會使用圖元的左上角,而不是其中心,這通常不會提供預期的結果。 若要使用圖元中心重新取樣影像,並取得 與DML_RESAMPLE_OPERATOR_DESC相同的行為,此值必須是 0.5
。
OutputPixelOffsets
類型:_Field_size_ (DimensionCount) const FLOAT*
重新取樣之後要套用至輸出圖元的位移。 當此值為 0
時,會使用圖元的左上角,而不是其中心,這通常不會提供預期的結果。 若要使用圖元中心重新取樣影像,並取得 與DML_RESAMPLE_OPERATOR_DESC相同的行為,此值必須是 -0.5
。
備註
當 InputPixelOffsets 設定為 0.5,且 OutputPixelOffsets 設定為 -0.5 時,此運算子相當於 DML_RESAMPLE_OPERATOR_DESC。
可用性
這個運算子是在 中 DML_FEATURE_LEVEL_2_1
引進。
Tensor 條件約束
InputTensor 和 OutputTensor 必須具有相同 的 DataType 和 DimensionCount。
Tensor 支援
DML_FEATURE_LEVEL_6_2和更新版本
張 | 種類 | 支援的維度計數 | 支援的資料類型 |
---|---|---|---|
InputTensor | 輸入 | 1 到 4 | FLOAT32、FLOAT16、INT8、UINT8 |
OutputTensor | 輸出 | 1 到 4 | FLOAT32、FLOAT16、INT8、UINT8 |
DML_FEATURE_LEVEL_5_1和更新版本
張 | 種類 | 支援的維度計數 | 支援的資料類型 |
---|---|---|---|
InputTensor | 輸入 | 1 到 4 | FLOAT32,FLOAT16 |
OutputTensor | 輸出 | 1 到 4 | FLOAT32,FLOAT16 |
DML_FEATURE_LEVEL_2_1和更新版本
張 | 種類 | 支援的維度計數 | 支援的資料類型 |
---|---|---|---|
InputTensor | 輸入 | 4 | FLOAT32,FLOAT16 |
OutputTensor | 輸出 | 4 | FLOAT32,FLOAT16 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 組建 20348 |
最低支援的伺服器 | Windows 10 組建 20348 |
標頭 | directml.h |