次の方法で共有


DML_LP_POOLING_OPERATOR_DESC構造体 (directml.h)

入力テンソル上のスライディング ウィンドウ内の要素全体で Lp 正規化値を計算します。

構文

struct DML_LP_POOLING_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputTensor;
  const DML_TENSOR_DESC *OutputTensor;
  UINT                  DimensionCount;
  const UINT            *Strides;
  const UINT            *WindowSize;
  const UINT            *StartPadding;
  const UINT            *EndPadding;
  UINT                  P;
};

メンバーズ

InputTensor

型: const DML_TENSOR_DESC*

サイズが 4D の場合は{ BatchCount, ChannelCount, Height, Width }、5D の場合は { BatchCount, ChannelCount, Depth, Height, Width } を持つ入力テンソル。

OutputTensor

型: const DML_TENSOR_DESC*

書き込む出力テンソル。 出力テンソルの サイズ は、次のように計算できます。

OutputTensor->Sizes[0] = InputTensor->Sizes[0];
OutputTensor->Sizes[1] = InputTensor->Sizes[1];

for (UINT i = 0; i < DimensionCount; ++i) {
  UINT PaddedSize = InputTensor->Sizes[i + 2] + StartPadding[i] + EndPadding[i];
  OutputTensor->Sizes[i + 2] = (PaddedSize - WindowSizes[i]) / Strides[i] + 1;
}

DimensionCount

型: UINT

入力テンソル InputTensorの空間寸法の数。これは、WindowSizeスライディング ウィンドウの次元数にも対応します。 また、この値は、StridesStartPadding、および endPadding 配列 のサイズも決定します。 InputTensor が 4D の場合は 2、5D テンソルの場合は 3 に設定する必要があります。

Strides

型: _Field_size_(DimensionCount) const UINT*

DimensionCount が 2 に設定されている場合に { Height, Width } サイズのスライディング ウィンドウディメンションのストライドを含む配列。3 に設定すると { Depth, Height, Width }

WindowSize

型: _Field_size_(DimensionCount) const UINT*

DimensionCount が 2 に設定されている場合は { Height, Width }のスライディング ウィンドウの次元を含む配列。3 に設定すると { Depth, Height, Width }

StartPadding

型: _Field_size_(DimensionCount) const UINT*

InputTensorの入力テンソルの各空間次元の先頭に適用される埋め込み要素の数 含む配列。 DimensionCount が 2 に設定されている場合は値が { Height, Width }、3 に設定すると { Depth, Height, Width } されます。

EndPadding

型: _Field_size_(DimensionCount) const UINT*

InputTensorの入力テンソルの各空間次元の末尾に適用される埋め込み要素の数 含む配列。 DimensionCount が 2 に設定されている場合は値が { Height, Width }、3 に設定すると { Depth, Height, Width } されます。

P

型: UINT

Lp 正規化関数の P 変数の値 Y = (X1^P + X2^P + ... + Xn^P) ^ (1/P)。スライディング ウィンドウ内の各値を表 XnX1。 一般的なユース ケースでは、この値はそれぞれ L1 または L2 正規化を表す 1 または 2 に設定されます。

可用性

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

Tensor 制約

InputTensor と OutputTensor は、DataType と DimensionCount同じである必要があります。

Tensor のサポート

テンソル 種類 サポートされているディメンション数 サポートされているデータ型
InputTensor インプット 4 ~ 5 FLOAT32、FLOAT16
OutputTensor アウトプット 4 ~ 5 FLOAT32、FLOAT16

必要条件

要件 価値
ヘッダー directml.h