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 の次元の数にも対応します。 この値は、Strides、StartPadding、ndPadding 配列のサイズも決定します。 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_DESC は DML_LP_POOLING_OPERATOR_DESC と同等です。
可用性
この演算子は、DML_FEATURE_LEVEL_6_2 で導入されました。
Tensor 制約
InputTensor と OutputTensor には、同じ DataType と DimensionCount が必要です。
Tensor のサポート
Tensor | 種類 | サポートされているディメンション数 | サポートされるデータ型 |
---|---|---|---|
InputTensor | 入力 | 4 から 5 | FLOAT32、FLOAT16 |
OutputTensor | 出力 | 4 から 5 | FLOAT32、FLOAT16 |
要件
ヘッダー | directml.h |