структура 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*
Входной тензор с Размерами{ BatchCount, ChannelCount, Height, Width }
для 4D и { BatchCount, ChannelCount, Depth, Height, Width }
для 5D.
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. Это значение также определяет размер , начальныхи массивов EndPadding. Оно должно иметь значение 2, если InputTensor имеет значение 4D, а 3 — при использовании 5D-тензора.
Strides
Тип: _Field_size_(DimensionCount) const UINT*
Массив, содержащий шаги для размеров скользящего окна { Height, Width }
, если DimensionCount имеет значение 2 или { Depth, Height, Width }
, если задано значение 3.
WindowSize
Тип: _Field_size_(DimensionCount) const UINT*
Массив, содержащий измерения скользящего окна в { Height, Width }
, если DimensionCount имеет значение 2 или { Depth, Height, Width }
, если задано значение 3.
StartPadding
Тип: _Field_size_(DimensionCount) const UINT*
Массив, содержащий количество элементов заполнения, применяемых к началу каждого пространственного измерения входного тензора InputTensor. Значения находятся в { Height, Width }
, если DimensionCount имеет значение 2 или { Depth, Height, Width }
, если задано значение 3.
EndPadding
Тип: _Field_size_(DimensionCount) const UINT*
Массив, содержащий количество элементов заполнения, применяемых к концу каждого пространственного измерения входного тензора InputTensor. Значения находятся в { Height, Width }
, если DimensionCount имеет значение 2 или { Depth, Height, Width }
, если задано значение 3.
P
Тип: UINT
Значение переменной P
в Y = (X1^P + X2^P + ... + Xn^P) ^ (1/P)
функции нормализации Lp, где X1
Xn
, представляющую каждое из значений в скользящем окне. В распространенных случаях использования это значение имеет значение 1 или 2, представляющее нормализацию L1 или L2 соответственно.
Наличие
Этот оператор появился в DML_FEATURE_LEVEL_1_0
.
Ограничения Tensor
Поддержка Tensor
Тензор | Добрый | Поддерживаемые счетчики измерений | Поддерживаемые типы данных |
---|---|---|---|
InputTensor | Ввод | От 4 до 5 | FLOAT32, FLOAT16 |
OutputTensor | Выпуск | От 4 до 5 | FLOAT32, FLOAT16 |
Требования
Требование | Ценность |
---|---|
заголовка | directml.h |