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


структура DML_UPSAMPLE_2D_OPERATOR_DESC (directml.h)

Перебор входного изображения с записью результата в выходной тензор. Порядок измерений должен быть NCHW (BatchSize, ChannelCount, Height, Width) или NCDHW (BatchSize, ChannelCount, Depth, Height, Width), но при хранении данных в другом формате можно использовать шаги. В отличие от DML_RESAMPLE_OPERATOR_DESC, можно повысить только два последних измерения (высота и ширина).

При наличии следует предпочесть DML_RESAMPLE_OPERATOR_DESC , так как это более гибкая версия DML_UPSAMPLE_2D_OPERATOR_DESC.

Синтаксис

struct DML_UPSAMPLE_2D_OPERATOR_DESC {
  const DML_TENSOR_DESC  *InputTensor;
  const DML_TENSOR_DESC  *OutputTensor;
  DML_SIZE_2D            ScaleSize;
  DML_INTERPOLATION_MODE InterpolationMode;
};

Члены

InputTensor

Тип: const DML_TENSOR_DESC*

Тензор, содержащий входные данные. Ожидаемые размеры InputTensor — { InputBatchCount, InputChannelCount, InputHeight, InputWidth } для 4D и { InputBatchCount, InputChannelCount, InputDepth, InputHeight, InputWidth } для 5D.

OutputTensor

Тип: const DML_TENSOR_DESC*

Тензор, содержащий входные данные. Ожидаемые размеры OutputTensor — { InputBatchCount, InputChannelCount, InputHeight * HeightScale, InputWidth * WidthScale } для 4D и { InputBatchCount, InputChannelCount, InputDepth, InputHeight * HeightScale, InputWidth * WidthScale } для 5D.

ScaleSize

Тип: DML_SIZE_2D

Шкалы ширины и высоты типа UINT, применяемые при upsampling входных данных. 0 < ScaleSize.Height <= UINT_MAX / InputHeight и 0 < ScaleSize.Width <= UINT_MAX / InputWidth.

InterpolationMode

Тип: DML_INTERPOLATION_MODE

Это поле определяет тип интерполяции, используемый для выбора выходных пикселей.

  • DML_INTERPOLATION_MODE_NEAREST_NEIGHBOR. Использует алгоритм ближайшего соседа , который выбирает входной элемент, ближайший к соответствующему центру пикселей для каждого выходного элемента.
  • DML_INTERPOLATION_MODE_LINEAR. Использует билинейный алгоритм, который вычисляет выходной элемент, выполняя взвешенный средний показатель 2 ближайших соседних входных элементов в измерении высоты и 2 ближайших соседних входных элементов в измерении ширины для в общей сложности 4 элемента. Это верно, даже если значение параметра DimensionCount для входных и выходных данных равно 5. То есть выборки всегда усреднены по ширине и высоте и никогда не по пакету, каналу или глубине.

Доступность

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

Ограничения тензоров

InputTensor и OutputTensor должны иметь одинаковые значения DataType и DimensionCount.

Поддержка тензоров

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

Требования

Требование Значение
Заголовок directml.h