estructura DML_RESAMPLE_GRAD_OPERATOR_DESC (directml.h)
Calcula los degradados de la propiedad inversa para Resample (consulte DML_RESAMPLE1_OPERATOR_DESC).
DML_RESAMPLE1_OPERATOR_DESC escala dimensiones arbitrarias del tensor de entrada mediante el muestreo más cercano o la interpolación bilineal. Dado un InputGradientTensor con los mismos tamaños que la salida de un DML_RESAMPLE1_OPERATOR_DESC equivalente, este operador genera un OutputGradientTensor con los mismos tamaños que la entrada del DML_RESAMPLE1_OPERATOR_DESC.
Por ejemplo, considere un DML_RESAMPLE1_OPERATOR_DESC que realiza un escalado 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 los valores 3 y 4) contribuyen a ningún elemento de la salida.
El DML_RESAMPLE_GRAD_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 de DML_RESAMPLE1_OPERATOR_DESC original.
Sintaxis
struct DML_RESAMPLE_GRAD_OPERATOR_DESC {
const DML_TENSOR_DESC *InputGradientTensor;
const DML_TENSOR_DESC *OutputGradientTensor;
DML_INTERPOLATION_MODE InterpolationMode;
UINT DimensionCount;
const FLOAT *Scales;
const FLOAT *InputPixelOffsets;
const FLOAT *OutputPixelOffsets;
};
Miembros
InputGradientTensor
Tipo: const DML_TENSOR_DESC*
Tensor de degradado entrante. Esto se obtiene normalmente a partir de la salida de la propiedad backpropagation de una capa anterior. Normalmente, este tensor tendría los mismos tamaños que la salida del DML_RESAMPLE1_OPERATOR_DESC correspondiente en el pase hacia delante.
OutputGradientTensor
Tipo: const DML_TENSOR_DESC*
Tensor de salida que contiene los degradados retropropagados. Normalmente, este tensor tendría los mismos tamaños que la entrada del DML_RESAMPLE1_OPERATOR_DESC correspondiente en el pase hacia delante.
InterpolationMode
Tipo: DML_INTERPOLATION_MODE
Vea InterpolationMode en DML_RESAMPLE1_OPERATOR_DESC.
DimensionCount
Tipo: UINT
El 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 Escalas en DML_RESAMPLE1_OPERATOR_DESC.
InputPixelOffsets
Tipo: _Field_size_(DimensionCount) const FLOAT*
Consulte InputPixelOffsets en DML_RESAMPLE1_OPERATOR_DESC.
OutputPixelOffsets
Tipo: _Field_size_(DimensionCount) const FLOAT*
Consulte OutputPixelOffsets en DML_RESAMPLE1_OPERATOR_DESC.
Disponibilidad
Este operador se introdujo en DML_FEATURE_LEVEL_3_0
.
Restricciones tensor
InputGradientTensor y OutputGradientTensor deben tener el mismo DataType y DimensionCount.
Compatibilidad con Tensor
DML_FEATURE_LEVEL_5_1 y versiones posteriores
Tensor | Kind | Recuentos de dimensiones admitidos | Tipos de datos admitidos |
---|---|---|---|
InputGradientTensor | Entrada | De 1 a 4 | FLOAT32, FLOAT16 |
OutputGradientTensor | Resultados | De 1 a 4 | FLOAT32, FLOAT16 |
DML_FEATURE_LEVEL_3_0 y versiones posteriores
Tensor | Kind | Recuentos de dimensiones admitidos | Tipos de datos admitidos |
---|---|---|---|
InputGradientTensor | Entrada | 4 | FLOAT32, FLOAT16 |
OutputGradientTensor | Resultados | 4 | FLOAT32, FLOAT16 |
Requisitos
Cliente mínimo compatible | Compilación 20348 de Windows 10 |
Servidor mínimo compatible | Compilación 20348 de Windows 10 |
Encabezado | directml.h |