estructura DML_UPSAMPLE_2D_OPERATOR_DESC (directml.h)
Sube el muestreo de la imagen de entrada, escribiendo el resultado en el tensor de salida. El orden de las dimensiones debe ser NCHW (BatchSize, ChannelCount, Height, Width) o NCDHW (BatchSize, ChannelCount, Depth, Height, Width), pero los pasos se pueden usar si los datos se almacenan en un formato diferente. A diferencia de DML_RESAMPLE_OPERATOR_DESC, solo se pueden ajustar las dos últimas dimensiones (alto y ancho).
Si está disponible, debe preferir DML_RESAMPLE_OPERATOR_DESC , ya que es una versión más flexible de DML_UPSAMPLE_2D_OPERATOR_DESC.
Sintaxis
struct DML_UPSAMPLE_2D_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *OutputTensor;
DML_SIZE_2D ScaleSize;
DML_INTERPOLATION_MODE InterpolationMode;
};
Miembros
InputTensor
Tipo: const DML_TENSOR_DESC*
Tensor que contiene los datos de entrada. Las dimensiones esperadas de InputTensor son { InputBatchCount, InputChannelCount, InputHeight, InputWidth }
para 4D y { InputBatchCount, InputChannelCount, InputDepth, InputHeight, InputWidth }
para 5D.
OutputTensor
Tipo: const DML_TENSOR_DESC*
Tensor que contiene los datos de entrada. Las dimensiones esperadas de OutputTensor son { InputBatchCount, InputChannelCount, InputHeight * HeightScale, InputWidth * WidthScale }
para 4D y { InputBatchCount, InputChannelCount, InputDepth, InputHeight * HeightScale, InputWidth * WidthScale }
para 5D.
ScaleSize
Tipo: DML_SIZE_2D
El ancho y las escalas de alto de tipo UINT que se van a aplicar al subir el muestreo de la entrada. 0 < ScaleSize.Height <= UINT_MAX / InputHeight
y 0 < ScaleSize.Width <= UINT_MAX / InputWidth
.
InterpolationMode
Tipo: DML_INTERPOLATION_MODE
Este campo determina el tipo de interpolación que se usa para elegir píxeles de salida.
- DML_INTERPOLATION_MODE_NEAREST_NEIGHBOR. Usa el algoritmo Vecino más cercano, que elige el elemento de entrada más cercano al centro de píxeles correspondiente para cada elemento de salida.
- DML_INTERPOLATION_MODE_LINEAR. Usa el algoritmo bilineal , que calcula el elemento de salida haciendo el promedio ponderado de los 2 elementos de entrada vecinos más cercanos en la dimensión de alto y los 2 elementos de entrada vecinos más cercanos en la dimensión de ancho, para un total de 4 elementos. Esto es cierto incluso si dimensionCount de entrada/salida es 5. Es decir, las muestras solo se calculan en promedio a lo largo de las dimensiones de ancho y alto, y nunca a lo largo del lote, canal o profundidad.
Disponibilidad
Este operador se introdujo en DML_FEATURE_LEVEL_1_0
.
Restricciones tensor
InputTensor y OutputTensor deben tener el mismo DataType y DimensionCount.
Compatibilidad con Tensor
Tensor | Clase | Recuentos de dimensiones admitidos | Tipos de datos admitidos |
---|---|---|---|
InputTensor | Entrada | De 4 a 5 | FLOAT32, FLOAT16 |
OutputTensor | Resultados | De 4 a 5 | FLOAT32, FLOAT16 |
Requisitos
Requisito | Valor |
---|---|
Header | directml.h |