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_RESAMPLE1_OPERATOR_DESCの補間モード」を参照してください。
DimensionCount
型: UINT
Scale 配列、InputPixelOffsets 配列、および OutputPixelOffsets 配列内の要素の数。 この値は、InputGradientTensor と OutputGradientTensor で提供される 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
導入されました。
テンソル制約
InputGradientTensor と OutputGradientTensor には、同じ DataType と DimensionCount が必要です。
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 |