Estructura DML_RESAMPLE_GRAD1_OPERATOR_DESC (directml.h)
Calcula gradientes de retropropagación para DML_RESAMPLE2_OPERATOR_DESC.
DML_RESAMPLE2_OPERATOR_DESC vuelve a escalar dimensiones arbitrarias del tensor de entrada mediante el muestreo de vecinos más próximos o la interpolación bilineal. Si tenemos un inputGradientTensor con los mismos tamaños que la salida de un DML_RESAMPLE2_OPERATOR_DESC equivalente, este operador genera un valor de outputGradientTensor con los mismos tamaños que la entrada del DML_RESAMPLE2_OPERATOR_DESC.
Por ejemplo, piense en un DML_RESAMPLE2_OPERATOR_DESC que realiza un escalado de vecino más próximo de 1,5x a lo ancho y 0,5x a lo alto:
InputTensor OutputTensor
[[1, 2], Resample [1, 1, 2]
[3, 4]] -->
Observe cómo el elemento 0 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 segundo y tercero (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 a OutputTensor durante el operador DML_RESAMPLE2_OPERATOR_DESC original.
Importante
Esta API está disponible como parte del paquete redistribuible independiente DirectML (consulte la versión 1.9 y versiones posteriores de Microsoft.AI.DirectML). Consulte también el 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 gradiente entrante. Normalmente, se obtiene de la salida de la retropropagación de una capa anterior. Normalmente, este tensor tendría los mismos tamaños que la salida del DML_RESAMPLE2_OPERATOR_DESC correspondiente en el pase hacia delante.
OutputGradientTensor
Tipo: const DML_TENSOR_DESC*
Tensor de salida que contiene los gradientes de retropropagación. Normalmente, este tensor tendría los mismos tamaños que la entrada del DML_RESAMPLE2_OPERATOR_DESC correspondiente en el pase 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 al valor de 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.
Comentarios
Este operador es equivalente a DML_RESAMPLE_GRAD_OPERATOR_DESC cuando InterpolationMode está establecido en DML_INTERPOLATION_MODE_LINEAR; o cuando InterpolationMode está establecido en DML_INTERPOLATION_MODE_NEAREST_NEIGHBOR y RoundingDirection en DML_AXIS_DIRECTION_DECREASING, y el valor de OutputPixelOffsets se ajusta con un -0,5 adicional.
Disponibilidad
Este operador se introdujo en DML_FEATURE_LEVEL_5_1.
Restricciones de tensor
InputGradientTensor y OutputGradientTensor deben tener el mismo DataType y DimensionCount.
Compatibilidad del tensor
Tensor | Clase | Recuentos de dimensiones admitidos | Tipos de datos admitidos |
---|---|---|---|
InputGradientTensor | Entrada | De 1 a 4 | FLOAT32, FLOAT16 |
OutputGradientTensor | Salida | De 1 a 4 | FLOAT32, FLOAT16 |
Requisitos
Encabezado | directml.h |