次の方法で共有


DML_RESAMPLE_GRAD_OPERATOR_DESC 構造体 (directml.h)

Resample のバックプロパティ グラデーションを計算します ( 「DML_RESAMPLE1_OPERATOR_DESC」を参照)。

DML_RESAMPLE1_OPERATOR_DESC は、最近隣サンプリングまたは二次補間を使用して、入力テンソルの任意の次元を再スケーリングします。 同等のDML_RESAMPLE1_OPERATOR_DESCの出力と同じサイズの InputGradientTensor を指定すると、この演算子は、DML_RESAMPLE1_OPERATOR_DESC入力と同じサイズの OutputGradientTensor を生成します。

たとえば、幅が 1.5 倍、高さが 0.5 倍の最近隣スケーリングを実行するDML_RESAMPLE1_OPERATOR_DESCについて考えてみましょう。

InputTensor           OutputTensor
[[1, 2],   Resample    [1, 1, 2]
 [3, 4]]      -->      

入力テンソルの 0 番目の要素 (値 1) が出力内の 2 つの要素にどのように影響するか、1 番目の要素 (値 2) が出力内の 1 つの要素に寄与し、2 番目と 3 番目の要素 (値 3 と 4) が出力の要素に寄与しないことがわかります。

対応する DML_RESAMPLE_GRAD_OPERATOR_DESC では、次の処理が実行されます。

InputGradientTensor           OutputGradientTensor
    [4, 5, 6]      ResampleGrad    [[9, 6],
                       -->          [0, 0]]

OutputGradientTensor の値は、元のDML_RESAMPLE1_OPERATOR_DESC演算子中に OutputTensor に対するその要素の重み付けされたコントリビューションを表していることに注意してください。

構文

struct DML_RESAMPLE_GRAD_OPERATOR_DESC {
  const DML_TENSOR_DESC  *InputGradientTensor;
  const DML_TENSOR_DESC  *OutputGradientTensor;
  DML_INTERPOLATION_MODE InterpolationMode;
  UINT                   DimensionCount;
  const FLOAT            *Scales;
  const FLOAT            *InputPixelOffsets;
  const FLOAT            *OutputPixelOffsets;
};

メンバー

InputGradientTensor

型: const DML_TENSOR_DESC*

入力されるグラデーションテンソル。 これは通常、前のレイヤーのバックプロパティの出力から取得されます。 通常、このテンソルは、前方パス内の対応するDML_RESAMPLE1_OPERATOR_DESC出力と同じサイズになります。

OutputGradientTensor

型: const DML_TENSOR_DESC*

バックプロパティされたグラデーションを含む出力テンソル。 通常、このテンソルは、前方パス内の対応するDML_RESAMPLE1_OPERATOR_DESC入力と同じサイズになります。

InterpolationMode

種類: DML_INTERPOLATION_MODE

「DML_RESAMPLE1_OPERATOR_DESC補間モード」を参照してください。

DimensionCount

型: UINT

Scale 配列、InputPixelOffsets 配列、および OutputPixelOffsets 配列内の要素の数。 この値は、InputGradientTensorOutputGradientTensor で提供される DimensionCount と等しい必要があります。

Scales

型: _Field_size_(DimensionCount) const FLOAT*

スケール イン DML_RESAMPLE1_OPERATOR_DESC」を参照してください。

InputPixelOffsets

型: _Field_size_(DimensionCount) const FLOAT*

DML_RESAMPLE1_OPERATOR_DESCの InputPixelOffsets に関するページを参照してください。

OutputPixelOffsets

型: _Field_size_(DimensionCount) const FLOAT*

DML_RESAMPLE1_OPERATOR_DESCの OutputPixelOffsets に関するページを参照してください。

可用性

この演算子は、 で DML_FEATURE_LEVEL_3_0導入されました。

テンソル制約

InputGradientTensorOutputGradientTensor には、同じ DataTypeDimensionCount が必要です。

Tensor のサポート

DML_FEATURE_LEVEL_5_1以降

テンソル 種類 サポートされているディメンション数 サポートされるデータ型
InputGradientTensor 入力 1 から 4 FLOAT32、FLOAT16
OutputGradientTensor 出力 1 から 4 FLOAT32、FLOAT16

DML_FEATURE_LEVEL_3_0以上

テンソル 種類 サポートされているディメンション数 サポートされるデータ型
InputGradientTensor 入力 4 FLOAT32、FLOAT16
OutputGradientTensor 出力 4 FLOAT32、FLOAT16

要件

   
サポートされている最小のクライアント Windows 10 ビルド 20348
サポートされている最小のサーバー Windows 10 ビルド 20348
Header directml.h