Compartir a través de


estructura DML_BATCH_NORMALIZATION_OPERATOR_DESC (directml.h)

Realiza una normalización por lotes en la entrada. Este operador realiza el siguiente cálculo: Output = FusedActivation(Scale * ((Input - Mean) / sqrt(Variance + Epsilon)) + Bias).

Cualquier dimensión de MeanTensor, VarianceTensor, ScaleTensor y BiasTensor se puede establecer en 1 y se puede difundir automáticamente para que coincida con InputTensor, pero de lo contrario debe ser igual al tamaño de la dimensión correspondiente de InputTensor.

Sintaxis

struct DML_BATCH_NORMALIZATION_OPERATOR_DESC {
  const DML_TENSOR_DESC   *InputTensor;
  const DML_TENSOR_DESC   *MeanTensor;
  const DML_TENSOR_DESC   *VarianceTensor;
  const DML_TENSOR_DESC   *ScaleTensor;
  const DML_TENSOR_DESC   *BiasTensor;
  const DML_TENSOR_DESC   *OutputTensor;
  BOOL                    Spatial;
  FLOAT                   Epsilon;
  const DML_OPERATOR_DESC *FusedActivation;
};

Miembros

InputTensor

Tipo: const DML_TENSOR_DESC*

Tensor que contiene los datos de entrada.

MeanTensor

Tipo: const DML_TENSOR_DESC*

Tensor que contiene los datos mean.

VarianceTensor

Tipo: const DML_TENSOR_DESC*

Tensor que contiene los datos de varianza.

ScaleTensor

Tipo: const DML_TENSOR_DESC*

Tensor que contiene los datos de escala.

BiasTensor

Tipo: const DML_TENSOR_DESC*

Tensor que contiene los datos bias.

OutputTensor

Tipo: const DML_TENSOR_DESC*

Tensor en el que se van a escribir los resultados.

Spatial

Tipo: BOOL

TRUE para especificar que las ubicaciones son espaciales; de lo contrario, FALSE. Si se establece en FALSE , las dimensiones Width y Height de MeanTensor y VarianceTensor no se difundirán. Este parámetro está en desuso en DML_FEATURE_LEVEL_4_0 y no tiene ningún efecto.

Epsilon

Tipo: FLOAT

Valor epsilon que se va a usar para evitar la división por cero.

FusedActivation

Tipo: _Maybenull_ const DML_OPERATOR_DESC*

Una capa de activación fusionada opcional que se aplicará después de la normalización. Para obtener más información, consulta Uso de operadores fusionados para mejorar el rendimiento.

Disponibilidad

Este operador se introdujo en DML_FEATURE_LEVEL_1_0.

Restricciones tensor

  • BiasTensor, InputTensor, MeanTensor, OutputTensor, ScaleTensor y VarianceTensor deben tener el mismo DataType y DimensionCount.
  • InputTensor y OutputTensor deben tener los mismos tamaños.

Compatibilidad con Tensor

DML_FEATURE_LEVEL_3_1 y versiones posteriores

Tensor Kind Dimensions Recuentos de dimensiones admitidos Tipos de datos admitidos
InputTensor Entrada { InputDimensions[] } De 1 a 8 FLOAT32, FLOAT16
MeanTensor Entrada { MeanDimensions[] } De 1 a 8 FLOAT32, FLOAT16
VarianceTensor Entrada { VarianceDimensions[] } De 1 a 8 FLOAT32, FLOAT16
ScaleTensor Entrada { ScaleDimensions[] } De 1 a 8 FLOAT32, FLOAT16
BiasTensor Entrada { BiasDimensions[] } De 1 a 8 FLOAT32, FLOAT16
OutputTensor Resultados { InputDimensions[] } De 1 a 8 FLOAT32, FLOAT16

DML_FEATURE_LEVEL_1_0 y versiones posteriores

Tensor Kind Dimensions Recuentos de dimensiones admitidos Tipos de datos admitidos
InputTensor Entrada { InputDimensions[] } 4 FLOAT32, FLOAT16
MeanTensor Entrada { MeanDimensions[] } 4 FLOAT32, FLOAT16
VarianceTensor Entrada { VarianceDimensions[] } 4 FLOAT32, FLOAT16
ScaleTensor Entrada { ScaleDimensions[] } 4 FLOAT32, FLOAT16
BiasTensor Entrada { BiasDimensions[] } 4 FLOAT32, FLOAT16
OutputTensor Resultados { InputDimensions[] } 4 FLOAT32, FLOAT16

Requisitos

   
Encabezado directml.h

Consulte también