Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 |