Поделиться через


структура 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, где X1Xn, представляющую каждое из значений в скользящем окне. В распространенных случаях использования это значение имеет значение 1 или 2, представляющее нормализацию L1 или L2 соответственно.

Наличие

Этот оператор появился в DML_FEATURE_LEVEL_1_0.

Ограничения Tensor

InputTensor и outputTens or должны иметь одинаковые DataType и DimensionCount.

Поддержка Tensor

Тензор Добрый Поддерживаемые счетчики измерений Поддерживаемые типы данных
InputTensor Ввод От 4 до 5 FLOAT32, FLOAT16
OutputTensor Выпуск От 4 до 5 FLOAT32, FLOAT16

Требования

Требование Ценность
заголовка directml.h