структура DML_AVERAGE_POOLING_OPERATOR_DESC (directml.h)
Усреднение значений по элементам в скользящем окне по входным тензорам.
Синтаксис
struct DML_AVERAGE_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;
BOOL IncludePadding;
};
Члены
InputTensor
Тип: const DML_TENSOR_DESC*
Входной тензор размеров{ BatchCount, ChannelCount, Height, Width }
для 4D и { BatchCount, ChannelCount, Depth, Height, Weight }
для 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. Это значение также определяет размер массивов Strides, StartPadding и 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.
IncludePadding
Тип: BOOL
Указывает, следует ли включать элементы заполнения вокруг пространственных ребер при вычислении среднего значения для всех элементов в скользящем окне. Если задано значение FALSE, элементы заполнения не учитываются как часть значения делителя усреднения вычисления.
Доступность
Этот оператор появился в DML_FEATURE_LEVEL_1_0
.
Ограничения тензоров
InputTensor и OutputTensor должны иметь одинаковые значения DataType и DimensionCount.
Поддержка тензоров
Тензор | Kind | Поддерживаемые счетчики измерений | Поддерживаемые типы данных |
---|---|---|---|
InputTensor | Входные данные | От 4 до 5 | FLOAT32, FLOAT16 |
OutputTensor | Выходные данные | От 4 до 5 | FLOAT32, FLOAT16 |
Требования
Требование | Значение |
---|---|
Заголовок | directml.h |