estructura DML_BATCH_NORMALIZATION_GRAD_OPERATOR_DESC (directml.h)
Calcula los degradados de la propiedad inversa para la normalización por lotes. DML_BATCH_NORMALIZATION_GRAD_OPERATOR_DESC realiza varios cálculos, que se detallan en las descripciones de salida independientes.
OutputScaleGradientTensor y OutputBiasGradientTensor se calculan mediante sumas en el conjunto de dimensiones para las que los tamaños MeanTensor, ScaleTensor y VarianceTensor son iguales a uno.
Sintaxis
struct DML_BATCH_NORMALIZATION_GRAD_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *InputGradientTensor;
const DML_TENSOR_DESC *MeanTensor;
const DML_TENSOR_DESC *VarianceTensor;
const DML_TENSOR_DESC *ScaleTensor;
const DML_TENSOR_DESC *OutputGradientTensor;
const DML_TENSOR_DESC *OutputScaleGradientTensor;
const DML_TENSOR_DESC *OutputBiasGradientTensor;
FLOAT Epsilon;
};
Miembros
InputTensor
Tipo: const DML_TENSOR_DESC*
Tensor que contiene los datos de entrada. Normalmente, este es el mismo tensor que se proporcionó como InputTensor para DML_BATCH_NORMALIZATION_OPERATOR_DESC en el pase hacia delante.
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.
MeanTensor
Tipo: const DML_TENSOR_DESC*
Tensor que contiene los datos medio. Normalmente, este es el mismo tensor que se proporcionó como MeanTensor para DML_BATCH_NORMALIZATION_OPERATOR_DESC en el pase hacia delante.
VarianceTensor
Tipo: const DML_TENSOR_DESC*
Tensor que contiene los datos de varianza. Normalmente, este es el mismo tensor que se proporcionó como VarianceTensor para DML_OPERATOR_BATCH_NORMALIZATION en el pase hacia delante.
ScaleTensor
Tipo: const DML_TENSOR_DESC*
Tensor que contiene los datos de escala. Normalmente, este es el mismo tensor que se proporcionó como ScaleTensor para DML_BATCH_NORMALIZATION_OPERATOR_DESC en el pase hacia delante.
OutputGradientTensor
Tipo: const DML_TENSOR_DESC*
Para cada valor correspondiente de las entradas, OutputGradient = InputGradient * (Scale / sqrt(Variance + Epsilon))
.
OutputScaleGradientTensor
Tipo: const DML_TENSOR_DESC*
El siguiente cálculo se realiza o cada valor correspondiente de las entradas.
OutputScaleGradient = sum(InputGradient * (Input - Mean) / sqrt(Variance + Epsilon))
OutputBiasGradientTensor
Tipo: const DML_TENSOR_DESC*
El siguiente cálculo se realiza o cada valor correspondiente de las entradas.
OutputBiasGradient = sum(InputGradient)
Epsilon
Tipo: FLOAT
Valor pequeño agregado a la varianza para evitar cero.
Comentarios
Disponibilidad
Este operador se introdujo en DML_FEATURE_LEVEL_3_1
.
Restricciones tensor
- InputGradientTensor, InputTensor, MeanTensor, OutputBiasGradientTensor, OutputGradientTensor, OutputScaleGradientTensor, ScaleTensor y VarianceTensor deben tener el mismo DataType y DimensionCount.
- MeanTensor, OutputBiasGradientTensor, OutputScaleGradientTensor, ScaleTensor y VarianceTensor deben tener los mismos tamaños.
- InputGradientTensor, InputTensor y OutputGradientTensor deben tener los mismos tamaños.
Compatibilidad con Tensor
Tensor | Clase | Dimensions | Recuentos de dimensiones admitidos | Tipos de datos admitidos |
---|---|---|---|---|
InputTensor | Entrada | { InputDimensions[] } | De 1 a 8 | FLOAT32, FLOAT16 |
InputGradientTensor | Entrada | { InputDimensions[] } | De 1 a 8 | FLOAT32, FLOAT16 |
MeanTensor | Entrada | { MeanDimensions[] } | De 1 a 8 | FLOAT32, FLOAT16 |
VarianceTensor | Entrada | { MeanDimensions[] } | De 1 a 8 | FLOAT32, FLOAT16 |
ScaleTensor | Entrada | { MeanDimensions[] } | De 1 a 8 | FLOAT32, FLOAT16 |
OutputGradientTensor | Resultados | { InputDimensions[] } | De 1 a 8 | FLOAT32, FLOAT16 |
OutputScaleGradientTensor | Resultados | { MeanDimensions[] } | De 1 a 8 | FLOAT32, FLOAT16 |
OutputBiasGradientTensor | Resultados | { MeanDimensions[] } | De 1 a 8 | FLOAT32, FLOAT16 |
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Compilación 22000 de Windows |
Servidor mínimo compatible | Compilación 22000 de Windows |
Encabezado | directml.h |