DML_BATCH_NORMALIZATION_OPERATOR_DESC struttura (directml.h)
Esegue una normalizzazione batch sull'input. Questo operatore esegue il calcolo seguente: Output = FusedActivation(Scale * ((Input - Mean) / sqrt(Variance + Epsilon)) + Bias)
.
Qualsiasi dimensione in MeanTensor, VarianceTensor, ScaleTensor e BiasTensor può essere impostata su 1 e essere automaticamente trasmessa in modo da corrispondere a InputTensor, ma in caso contrario deve essere uguale alle dimensioni della dimensione corrispondente da InputTensor.
Sintassi
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;
};
Members
InputTensor
Tipo: const DML_TENSOR_DESC*
Tensore contenente i dati di input.
MeanTensor
Tipo: const DML_TENSOR_DESC*
Tensor contenente i dati Mean.
VarianceTensor
Tipo: const DML_TENSOR_DESC*
Tensore contenente i dati di varianza.
ScaleTensor
Tipo: const DML_TENSOR_DESC*
Tensor contenente i dati di scalabilità.
BiasTensor
Tipo: const DML_TENSOR_DESC*
Tensore contenente i dati Bias.
OutputTensor
Tipo: const DML_TENSOR_DESC*
Un tensore a cui scrivere i risultati.
Spatial
Tipo: BOOL
TRUE per specificare che le posizioni sono spaziali, in caso contrario FALSE. L'impostazione di questa opzione su FALSE richiederà la trasmissione delle dimensioni Width e Height di MeanTensor e VarianceTensor . Questo parametro è stato deprecato in DML_FEATURE_LEVEL_4_0 e non ha alcun effetto.
Epsilon
Tipo: FLOAT
Valore epsilon da usare per evitare la divisione per zero.
FusedActivation
Tipo: _Maybenull_ const DML_OPERATOR_DESC*
Livello di attivazione fuso facoltativo da applicare dopo la normalizzazione. Per altre informazioni, vedere Uso degli operatori fusi per migliorare le prestazioni.
Disponibilità
Questo operatore è stato introdotto in DML_FEATURE_LEVEL_1_0
.
Vincoli tensor
- BiasTensor, InputTensor,MeanTensor, OutputTensor, ScaleTensor e VarianceTensor devono avere lo stesso Tipo di dati e DimensionCount.
- InputTensor e OutputTensor devono avere le stesse dimensioni.
Supporto di Tensor
DML_FEATURE_LEVEL_3_1 e versioni successive
Tensore | Tipo | Dimensioni | Conteggi delle dimensioni supportate | Tipi di dati supportati |
---|---|---|---|---|
InputTensor | Input | { InputDimensions[] } | da 1 a 8 | FLOAT32, FLOAT16 |
MeanTensor | Input | { MeanDimensions[] } | da 1 a 8 | FLOAT32, FLOAT16 |
VarianceTensor | Input | { VarianceDimensions[] } | da 1 a 8 | FLOAT32, FLOAT16 |
ScaleTensor | Input | { ScaleDimensions[] } | da 1 a 8 | FLOAT32, FLOAT16 |
BiasTensor | Input | { BiasDimensions[] } | da 1 a 8 | FLOAT32, FLOAT16 |
OutputTensor | Output | { InputDimensions[] } | da 1 a 8 | FLOAT32, FLOAT16 |
DML_FEATURE_LEVEL_1_0 e versioni successive
Tensore | Tipo | Dimensioni | Conteggi delle dimensioni supportate | Tipi di dati supportati |
---|---|---|---|---|
InputTensor | Input | { InputDimensions[] } | 4 | FLOAT32, FLOAT16 |
MeanTensor | Input | { MeanDimensions[] } | 4 | FLOAT32, FLOAT16 |
VarianceTensor | Input | { VarianceDimensions[] } | 4 | FLOAT32, FLOAT16 |
ScaleTensor | Input | { ScaleDimensions[] } | 4 | FLOAT32, FLOAT16 |
BiasTensor | Input | { BiasDimensions[] } | 4 | FLOAT32, FLOAT16 |
OutputTensor | Output | { InputDimensions[] } | 4 | FLOAT32, FLOAT16 |
Requisiti
Intestazione | directml.h |