структура 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_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 |