次の方法で共有


DML_AVERAGE_POOLING_GRAD_OPERATOR_DESC 構造体 (directml.h)

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

次の処理を実行する、パディングとストライドが 1 の 2 x 2 DML_AVERAGE_POOLING_OPERATOR_DESCについて考えてみましょう。

InputTensor             OutputTensor
[[[[1, 2, 3],   AvgPool  [[[[3, 4],
   [4, 5, 6],     -->       [6, 7]]]]
   [7, 8, 9]]]]

入力テンソルの各 2x2 ウィンドウは、出力の 1 つの要素を生成するように平均化されます (エッジを超える要素の場合は 0 を読み取ります)。 同様のパラメーターを指定 したDML_AVERAGE_POOLING_GRAD_OPERATOR_DESC の出力の例を次に示します。

InputGradientTensor            OutputGradientTensor
  [[[[1, 2],     AvgPoolGrad  [[[[0.25, 0.75, 0.5],
     [3, 4]]]]       -->         [   1,  2.5, 1.5],
                                 [0.75, 1.75,   1]]]]

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

構文

struct DML_AVERAGE_POOLING_GRAD_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputGradientTensor;
  const DML_TENSOR_DESC *OutputGradientTensor;
  UINT                  DimensionCount;
  const UINT            *Strides;
  const UINT            *WindowSize;
  const UINT            *StartPadding;
  const UINT            *EndPadding;
  BOOL                  IncludePadding;
};

メンバー

InputGradientTensor

型: const DML_TENSOR_DESC*

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

OutputGradientTensor

型: const DML_TENSOR_DESC*

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

DimensionCount

型: UINT

StridesWindowSizeStartPaddingおよび EndPadding 配列内の要素の数。 この値は、空間ディメンション数と等しい必要があります。 空間次元数は、4D テンソルが指定されている場合は 2、5D テンソルが指定されている場合は 3 です。

Strides

型: _Field_size_(DimensionCount) const UINT*

DML_AVERAGE_POOLING_OPERATOR_DESCのストライド」を参照してください。

WindowSize

型: _Field_size_(DimensionCount) const UINT*

DML_AVERAGE_POOLING_OPERATOR_DESCの WindowSize」を参照してください。

StartPadding

型: _Field_size_(DimensionCount) const UINT*

startPadding in DML_AVERAGE_POOLING_OPERATOR_DESC」を参照してください。

EndPadding

型: _Field_size_(DimensionCount) const UINT*

「DML_AVERAGE_POOLING_OPERATOR_DESCでの EndPadding」を参照してください。

IncludePadding

種類: BOOL

DML_AVERAGE_POOLING_OPERATOR_DESCIncludePadding」を参照してください。

可用性

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

テンソル制約

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

Tensor のサポート

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

要件

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