Compartir a través de


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