共用方式為


DML_RESAMPLE_OPERATOR_DESC 結構 (directml.h)

使用縮放因數計算目的地張量大小,從來源重新取樣元素到目的地張量。 您可以使用線性或近鄰插補點模式。 運算符支援跨多個維度的插補,而不只是 2D。 因此,您可以保留相同的空間大小,但跨通道或批次插補。

語法

struct DML_RESAMPLE_OPERATOR_DESC {
  const DML_TENSOR_DESC  *InputTensor;
  const DML_TENSOR_DESC  *OutputTensor;
  DML_INTERPOLATION_MODE InterpolationMode;
  UINT                   ScaleCount;
  const FLOAT            *Scales;
};

成員

InputTensor

類型: const DML_TENSOR_DESC*

包含輸入數據的張量。

OutputTensor

類型: const DML_TENSOR_DESC*

要寫入輸出數據的張量。

InterpolationMode

類型: DML_INTERPOLATION_MODE

此欄位會決定用來選擇輸出圖元的插補類型。

  • DML_INTERPOLATION_MODE_NEAREST_NEIGHBOR。 使用 最接近鄰近 的演算法,它會為每個輸出元素選擇最接近對應圖元中心的輸入元素。

  • DML_INTERPOLATION_MODE_LINEAR。 使用 線性插補 演算法,藉由計算每個維度 2 個鄰近輸入元素的加權平均值來計算輸出元素。 每個輸出元素的總 16 個輸入元素計算加權平均值,最多支援 4 個維度 (四條線性) 。

ScaleCount

類型: UINT

陣列 Scales 中的值數目會指向 。 此值必須符合 InputTensorOutputTensor 的維度計數。

Scales

類型:_Field_size_ (ScaleCount) const FLOAT*

重新取樣輸入時要套用的縮放比例,其中 > 縮放 1 相應增加影像,並相應減少 < 該維度的影像 1。 請注意,調整不需要完全是 OutputSize / InputSize。 如果調整后的輸入大於輸出系結,我們會將其裁剪為輸出大小。 另一方面,如果調整后的輸入小於輸出系結,則會限制輸出邊緣。

備註

在 中DML_FEATURE_LEVEL_2_1引進了較新版本的這個運算元DML_RESAMPLE1_OPERATOR_DESC

可用性

這個運算子是在 中 DML_FEATURE_LEVEL_2_0引進的。

Tensor 條件約束

InputTensorOutputTensor 必須具有相同 的 DataTypeDimensionCount

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_0和更新版本

種類 支援的維度計數 支援的資料類型
InputTensor 輸入 4 FLOAT32、FLOAT16
OutputTensor 輸出 4 FLOAT32、FLOAT16

規格需求

   
最低支援的用戶端 Windows 10 版本 2004 (10.0;組建 19041)
最低支援的伺服器 Windows Server 版本 2004 (10.0;組建 19041)
標頭 directml.h