DML_LP_POOLING1_OPERATOR_DESC 構造体 (directml.h)

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

重要

この API は、DirectML スタンドアロン再頒布可能パッケージの一部として使用できます (Microsoft.AI.DirectML バージョン 1.13 以降を参照してください)。 DirectML バージョン履歴も参照してください。

構文

struct DML_LP_POOLING1_OPERATOR_DESC
{
    const DML_TENSOR_DESC* InputTensor;
    const DML_TENSOR_DESC* OutputTensor;
    UINT DimensionCount;
    _Field_size_(DimensionCount) const UINT* Strides;
    _Field_size_(DimensionCount) const UINT* WindowSize;
    _Field_size_(DimensionCount) const UINT* StartPadding;
    _Field_size_(DimensionCount) const UINT* EndPadding;
    _Field_size_(DimensionCount) const UINT* Dilations;
    UINT P;
};

メンバー

InputTensor

型: const DML_TENSOR_DESC*

4D には { BatchCount, ChannelCount, Height, Width }、5D には { BatchCount, ChannelCount, Depth, Height, Weight }サイズの入力テンソル。

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 の次元の数にも対応します。 この値は、StridesStartPaddingndPadding 配列のサイズも決定します。 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 に設定されている場合、または { Depth, Height, Width } が 3 に設定されている場合に { Height, Width } に表示されます。

EndPadding

型: _Field_size_(DimensionCount) const UINT*

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

Dilations

型: _Field_size_(DimensionCount) const UINT*

スライディング ウィンドウ内の要素がその値のすべての要素に対して選択される、入力テンソル InputTensor の各空間次元の値。 値は、DimensionCount が 2 に設定されている場合、または { Depth, Height, Width } が 3 に設定されている場合に { Height, Width } に表示されます。

P

型: UINT

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

解説

DML_LP_POOLING1_OPERATOR_DESC は、追加の定数配列膨張を除けば DML_LP_POOLING_OPERATOR_DESC のようなものです。 Dilations が、4D 入力機能の場合は { 1,1 } に、5D 入力機能の場合は { 1,1,1 } に設定されている場合、DML_LP_POOLING1_OPERATOR_DESCDML_LP_POOLING_OPERATOR_DESC と同等です。

可用性

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

Tensor 制約

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

Tensor のサポート

Tensor 種類 サポートされているディメンション数 サポートされるデータ型
InputTensor 入力 4 から 5 FLOAT32、FLOAT16
OutputTensor 出力 4 から 5 FLOAT32、FLOAT16

要件

   
ヘッダー directml.h