DML_MAX_POOLING2_OPERATOR_DESC 構造体 (directml.h)
入力テンソル上のスライディング ウィンドウ内の要素の最大値を計算し、必要に応じて選択した最大値のインデックスを返します。
構文
struct DML_MAX_POOLING2_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *OutputTensor;
const DML_TENSOR_DESC *OutputIndicesTensor;
UINT DimensionCount;
const UINT *Strides;
const UINT *WindowSize;
const UINT *StartPadding;
const UINT *EndPadding;
const UINT *Dilations;
};
メンバー
InputTensor
型: const DML_TENSOR_DESC*
InputTensor.DimensionCount が 4 の場合、および InputTensor.DimensionCount が 5 の場合は、サイズ{ BatchCount, ChannelCount, Height, Width }
の入力テンソル。{ 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;
}
OutputIndicesTensor
型: _Maybenull_ const DML_TENSOR_DESC*
OutputTensor で生成および格納される最大値の入力テン ソル InputTensor へのインデックスのオプション の出力テンソル。 これらのインデックス値は 0 から始まります。入力テンソルは連続する 1 次元配列として扱われます。 スライディング ウィンドウ内の複数の要素の値が同じである場合、それ以降の等しい値は無視され、インデックスは最初に検出された値を指します。 OutputTensor と OutputIndicesTensor のサイズはどちらも同じです。
DimensionCount
型: UINT
入力テンソル InputTensor の空間ディメンションの数。これは、スライディング ウィンドウ WindowSize のディメンションの数にも対応します。 この値は、 Strides、 StartPadding、 および EndPadding 配列のサイズも決定します。 InputTensor が 4D の場合は 2、5D テンソルの場合は 3 に設定する必要があります。
Strides
型: _Field_size_(DimensionCount) const UINT*
DimensionCount が 2 に設定されている場合、または { Depth, Height, Width }
3 に設定されている場合の、スライディング ウィンドウのサイズ{ Height, Width }
のストライド。
WindowSize
型: _Field_size_(DimensionCount) const UINT*
DimensionCount が 2 に設定されている場合、または { Depth, Height, Width }
3 に設定されている場合の スライディング ウィンドウ{ Height, Width }
のディメンション。
StartPadding
型: _Field_size_(DimensionCount) const UINT*
入力テンソル InputTensor の各空間ディメンションの先頭に適用されるパディング要素の数。 値は、DimensionCount が { Height, Width }
2 に設定されている場合、または { Depth, Height, Width }
3 に設定されている場合は です。
EndPadding
型: _Field_size_(DimensionCount) const UINT*
入力テンソル InputTensor の各空間ディメンションの末尾に適用されるパディング要素の数。 値は、DimensionCount が { Height, Width }
2 に設定されている場合、または { Depth, Height, Width }
3 に設定されている場合は です。
Dilations
型: _Field_size_(DimensionCount) const UINT*
入力テンソル InputTensor の各空間ディメンションの値。この値のすべての要素に対してスライディング ウィンドウ内の要素が選択されます。 値は、DimensionCount が { Height, Width }
2 に設定されている場合、または { Depth, Height, Width }
3 に設定されている場合は です。
解説
DML_MAX_POOLING2_OPERATOR_DESC は、以前のバージョン のDML_MAX_POOLING_OPERATOR1_DESC を追加の定数配列 Dilations に置き換えます。 2 つのバージョンは、4D 入力の場合は Dilations が に { 1,1 }
設定されている場合、または { 1,1,1 }
5D 入力機能の場合は同等です。
可用性
この演算子は、 で DML_FEATURE_LEVEL_2_1
導入されました。
テンソル制約
- InputTensor、 OutputIndicesTensor、 および OutputTensor は、同じ DimensionCount を持つ必要があります。
- InputTensor と OutputTensor の DataType は同じである必要があります。
Tensor のサポート
DML_FEATURE_LEVEL_5_0 以降
テンソル | 種類 | サポートされているディメンション数 | サポートされるデータ型 |
---|---|---|---|
InputTensor | 入力 | 4 から 5 | FLOAT32、FLOAT16、INT64、INT32、INT16、INT8、UINT64、UINT32、UINT16、UINT8 |
OutputTensor | 出力 | 4 から 5 | FLOAT32、FLOAT16、INT64、INT32、INT16、INT8、UINT64、UINT32、UINT16、UINT8 |
OutputIndicesTensor | 省略可能な出力 | 4 から 5 | UINT64、UINT32 |
DML_FEATURE_LEVEL_3_0以上
テンソル | 種類 | サポートされているディメンション数 | サポートされるデータ型 |
---|---|---|---|
InputTensor | 入力 | 4 から 5 | FLOAT32、FLOAT16、INT8、UINT8 |
OutputTensor | 出力 | 4 から 5 | FLOAT32、FLOAT16、INT8、UINT8 |
OutputIndicesTensor | 省略可能な出力 | 4 から 5 | UINT32 |
DML_FEATURE_LEVEL_2_1以上
テンソル | 種類 | サポートされているディメンション数 | サポートされるデータ型 |
---|---|---|---|
InputTensor | 入力 | 4 から 5 | FLOAT32、FLOAT16 |
OutputTensor | 出力 | 4 から 5 | FLOAT32、FLOAT16 |
OutputIndicesTensor | 省略可能な出力 | 4 から 5 | UINT32 |
要件
サポートされている最小のクライアント | Windows 10バージョン 2004 (10.0;ビルド 19041) |
サポートされている最小のサーバー | Windows Server バージョン 2004 (10.0;ビルド 19041) |
Header | directml.h |
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示