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 |