Compartir a través de


estructura DML_MEAN_VARIANCE_NORMALIZATION1_OPERATOR_DESC (directml.h)

Realiza una función de normalización de varianza media en el tensor de entrada. Este operador calculará la media y la varianza del tensor de entrada para realizar la normalización. Este operador realiza el siguiente cálculo.

Output = FusedActivation(Scale * ((Input - Mean) / sqrt(Variance + Epsilon)) + Bias).

Sintaxis

struct DML_MEAN_VARIANCE_NORMALIZATION1_OPERATOR_DESC {
  const DML_TENSOR_DESC   *InputTensor;
  const DML_TENSOR_DESC   *ScaleTensor;
  const DML_TENSOR_DESC   *BiasTensor;
  const DML_TENSOR_DESC   *OutputTensor;
  UINT                    AxisCount;
  const UINT              *Axes;
  BOOL                    NormalizeVariance;
  FLOAT                   Epsilon;
  const DML_OPERATOR_DESC *FusedActivation;
};

Miembros

InputTensor

Tipo: const DML_TENSOR_DESC*

Tensor que contiene los datos de entrada. Las dimensiones de este tensor deben ser { BatchCount, ChannelCount, Height, Width }.

ScaleTensor

Tipo: _Maybenull_ const DML_TENSOR_DESC*

Tensor opcional que contiene los datos de escala.

Si DML_FEATURE_LEVEL es menor que DML_FEATURE_LEVEL_4_0, las dimensiones de este tensor deben ser { ScaleBatchCount, ChannelCount, ScaleHeight, ScaleWidth }. Las dimensiones ScaleBatchCount, ScaleHeight y ScaleWidth deben coincidir con InputTensor o establecerse en 1 para difundir automáticamente esas dimensiones en la entrada.

Si DML_FEATURE_LEVEL es mayor o igual que DML_FEATURE_LEVEL_4_0, cualquier dimensión se puede establecer en 1 y se difundirá automáticamente para que coincida con InputTensor.

Si DML_FEATURE_LEVEL es menor que DML_FEATURE_LEVEL_5_2, este tensor es necesario si BiasTensor está presente. Si DML_FEATURE_LEVEL es mayor o igual que DML_FEATURE_LEVEL_5_2, este tensor puede ser null independientemente del valor de BiasTensor.

BiasTensor

Tipo: _Maybenull_ const DML_TENSOR_DESC*

Tensor opcional que contiene los datos bias.

Si DML_FEATURE_LEVEL es menor que DML_FEATURE_LEVEL_4_0, las dimensiones de este tensor deben ser { BiasBatchCount, ChannelCount, BiasHeight, BiasWidth }. Las dimensiones BiasBatchCount, BiasHeight y BiasWidth deben coincidir con InputTensor o establecerse en 1 para difundir automáticamente esas dimensiones en la entrada.

Si DML_FEATURE_LEVEL es mayor o igual que DML_FEATURE_LEVEL_4_0, cualquier dimensión se puede establecer en 1 y se difundirá automáticamente para que coincida con InputTensor.

Si DML_FEATURE_LEVEL es menor que DML_FEATURE_LEVEL_5_2, este tensor es necesario si ScaleTensor está presente. Si DML_FEATURE_LEVEL es mayor o igual que DML_FEATURE_LEVEL_5_2, este tensor puede ser null independientemente del valor de ScaleTensor.

OutputTensor

Tipo: const DML_TENSOR_DESC*

Tensor en el que se van a escribir los resultados. Las dimensiones de este tensor son { BatchCount, ChannelCount, Height, Width }.

AxisCount

Tipo: UINT

Número de ejes. Este campo determina el tamaño de la matriz de ejes .

Axes

Tipo: _Field_size_(AxisCount) const UINT*

Ejes a lo largo del cual se calcula la media y la varianza.

NormalizeVariance

Tipo: BOOL

TRUE si la capa de normalización incluye varianza en el cálculo de normalización. De lo contrario, FALSE. Si es FALSE, la ecuación de normalización es Output = FusedActivation(Scale * (Input - Mean) + Bias).

Epsilon

Tipo: FLOAT

Valor epsilon que se va a usar para evitar la división por cero. Se recomienda un valor de 0,00001 como valor predeterminado.

FusedActivation

Tipo: _Maybenull_ const DML_OPERATOR_DESC*

Una capa de activación fusionada opcional que se aplicará después de la normalización.

Comentarios

DML_MEAN_VARIANCE_NORMALIZATION1_OPERATOR_DESC es un superconjunto de funcionalidad de DML_MEAN_VARIANCE_NORMALIZATION_OPERATOR_DESC. En este caso, establecer la matriz { 2, 3 }Axes en es el equivalente de establecer CrossChannel en FALSE en DML_MEAN_VARIANCE_NORMALIZATION_OPERATOR_DESC; mientras que establecer la matriz { 1, 2, 3 }Axes en es equivalente a establecer CrossChannel en TRUE.

Disponibilidad

Este operador se introdujo en DML_FEATURE_LEVEL_2_1.

Restricciones tensor

BiasTensor, InputTensor, OutputTensor y ScaleTensor deben tener el mismo DataType y DimensionCount.

Compatibilidad con Tensor

DML_FEATURE_LEVEL_3_1 y versiones posteriores

Tensor Tipo Recuentos de dimensiones admitidos Tipos de datos admitidos
InputTensor Entrada De 1 a 8 FLOAT32, FLOAT16
ScaleTensor Entrada opcional De 1 a 8 FLOAT32, FLOAT16
BiasTensor Entrada opcional De 1 a 8 FLOAT32, FLOAT16
OutputTensor Resultados De 1 a 8 FLOAT32, FLOAT16

DML_FEATURE_LEVEL_2_1 y versiones posteriores

Tensor Tipo Recuentos de dimensiones admitidos Tipos de datos admitidos
InputTensor Entrada 4 FLOAT32, FLOAT16
ScaleTensor Entrada opcional 4 FLOAT32, FLOAT16
BiasTensor Entrada opcional 4 FLOAT32, FLOAT16
OutputTensor 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

Vea también

Uso de operadores fusionados para mejorar el rendimiento