Compartir a través de


estructura DML_RESAMPLE_GRAD1_OPERATOR_DESC (directml.h)

Calcula degradados de copia inversa para DML_RESAMPLE2_OPERATOR_DESC.

DML_RESAMPLE2_OPERATOR_DESC escala dimensiones arbitrarias del tensor de entrada mediante el muestreo de vecino más cercano o la interpolación bilineal. Dado un inputGradientTensor con los mismos tamaños que la salida de un DML_RESAMPLE2_OPERATOR_DESC equivalente, este operador genera un outputGradientTensor con los mismos tamaños que la entrada del DML_RESAMPLE2_OPERATOR_DESC.

Por ejemplo, considere un DML_RESAMPLE2_OPERATOR_DESC que realiza un escalado de vecino más cercano de 1,5x en el ancho y 0,5x en el alto:

InputTensor           OutputTensor
[[1, 2],   Resample    [1, 1, 2]
 [3, 4]]      -->      

Observe cómo el 0º elemento del tensor de entrada (con el valor 1) contribuye a dos elementos de la salida; el primer elemento (con el valor 2) contribuye a un elemento de la salida; y los elementos 2 y 3rd (con valores 3 y 4) no contribuyen a ningún elemento de la salida.

El DML_RESAMPLE_GRAD1_OPERATOR_DESC correspondiente realizaría lo siguiente:

InputGradientTensor           OutputGradientTensor
    [4, 5, 6]      ResampleGrad    [[9, 6],
                       -->          [0, 0]]

Observe que los valores de OutputGradientTensor representan las contribuciones ponderadas de ese elemento al outputTensor durante el operador DML_RESAMPLE2_OPERATOR_DESC original.

Importante

Esta API está disponible como parte del paquete redistribuible independiente de DirectML (consulte Microsoft.AI.DirectML versión 1.9 y posteriores). Consulte también historial de versiones de DirectML.

Sintaxis

struct DML_RESAMPLE_GRAD1_OPERATOR_DESC
{
    const DML_TENSOR_DESC* InputGradientTensor;
    const DML_TENSOR_DESC* OutputGradientTensor;
    DML_INTERPOLATION_MODE InterpolationMode;
    DML_AXIS_DIRECTION RoundingDirection;
    UINT DimensionCount;
    _Field_size_(DimensionCount) const FLOAT* Scales;
    _Field_size_(DimensionCount) const FLOAT* InputPixelOffsets;
    _Field_size_(DimensionCount) const FLOAT* OutputPixelOffsets;
};

Miembros

InputGradientTensor

Tipo: const DML_TENSOR_DESC*

Tensor de degradado entrante. Normalmente, esto se obtiene de la salida de la propiedad inversa de una capa anterior. Normalmente, este tensor tendría los mismos tamaños que la salida del DML_RESAMPLE2_OPERATOR_DESC correspondiente en el paso hacia delante.

OutputGradientTensor

Tipo: const DML_TENSOR_DESC*

Tensor de salida que contiene los degradados de retroceso. Normalmente, este tensor tendría los mismos tamaños que la entrada del DML_RESAMPLE2_OPERATOR_DESC correspondiente en el paso hacia delante.

InterpolationMode

Tipo: DML_INTERPOLATION_MODE

Consulte DML_RESAMPLE2_OPERATOR_DESC::InterpolationMode.

RoundingDirection

Tipo: DML_AXIS_DIRECTION

Consulte DML_RESAMPLE2_OPERATOR_DESC::RoundingDirection.

DimensionCount

Tipo: UINT

Número de elementos de las matrices Scales, InputPixelOffsets y OutputPixelOffsets . Este valor debe ser igual a DimensionCount proporcionado en InputGradientTensor y OutputGradientTensor.

Scales

Tipo: _Field_size_(DimensionCount) const FLOAT*

Consulte DML_RESAMPLE2_OPERATOR_DESC::Scales.

InputPixelOffsets

Tipo: _Field_size_(DimensionCount) const FLOAT*

Consulte DML_RESAMPLE2_OPERATOR_DESC::InputPixelOffsets.

OutputPixelOffsets

Tipo: _Field_size_(DimensionCount) const FLOAT*

Consulte DML_RESAMPLE2_OPERATOR_DESC::OutputPixelOffsets.

Observaciones

Este operador es equivalente a DML_RESAMPLE_GRAD_OPERATOR_DESC cuando InterpolationMode está establecido en DML_INTERPOLATION_MODE_LINEAR; o cuando InterpolationMode se establece en DML_INTERPOLATION_MODE_NEAREST_NEIGHBOR y RoundingDirection en DML_AXIS_DIRECTION_DECREASING, y OutputPixelOffsets se ajustan un -0,5 adicional.

Disponibilidad

Este operador se introdujo en DML_FEATURE_LEVEL_5_1.

Restricciones tensor

InputGradientTensor y OutputGradientTensor deben tener el mismo DataType y DimensionCount.

Compatibilidad con Tensor

Tensor Variante Recuentos de dimensiones admitidos Supported data types (Tipos de datos admitidos)
InputGradientTensor Entrada De 1 a 4 FLOAT32, FLOAT16
OutputGradientTensor Salida De 1 a 4 FLOAT32, FLOAT16

Requisitos

   
Encabezado directml.h