DML_MEAN_VARIANCE_NORMALIZATION1_OPERATOR_DESC struttura (directml.h)
Esegue una funzione di normalizzazione della varianza media nel tensore di input. Questo operatore calcola la media e la varianza del tensore di input per eseguire la normalizzazione. Questo operatore esegue il calcolo seguente.
Output = FusedActivation(Scale * ((Input - Mean) / sqrt(Variance + Epsilon)) + Bias).
Sintassi
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;
};
Members
InputTensor
Tipo: const DML_TENSOR_DESC*
Tensore contenente i dati di input. Le dimensioni di questo tensore devono essere { BatchCount, ChannelCount, Height, Width }
.
ScaleTensor
Tipo: _Maybenull_ const DML_TENSOR_DESC*
Tensore facoltativo contenente i dati di scalabilità.
Se DML_FEATURE_LEVEL è minore di DML_FEATURE_LEVEL_4_0, le dimensioni di questo tensore devono essere { ScaleBatchCount, ChannelCount, ScaleHeight, ScaleWidth }
. Le dimensioni ScaleBatchCount, ScaleHeight e ScaleWidth devono corrispondere a InputTensor oppure essere impostate su 1 per trasmettere automaticamente tali dimensioni nell'input.
Se DML_FEATURE_LEVEL è maggiore o uguale a DML_FEATURE_LEVEL_4_0, qualsiasi dimensione può essere impostata su 1 e essere trasmessi automaticamente in corrispondenza di InputTensor.
Se DML_FEATURE_LEVEL è minore di DML_FEATURE_LEVEL_5_2, questo tensore è necessario se è presente BiasTensor . Se DML_FEATURE_LEVEL è maggiore o uguale a DML_FEATURE_LEVEL_5_2, questo tensore può essere null indipendentemente dal valore di BiasTensor.
BiasTensor
Tipo: _Maybenull_ const DML_TENSOR_DESC*
Tensore facoltativo contenente i dati Bias.
Se DML_FEATURE_LEVEL è minore di DML_FEATURE_LEVEL_4_0, le dimensioni di questo tensore devono essere { BiasBatchCount, ChannelCount, BiasHeight, BiasWidth }
. Le dimensioni BiasBatchCount, BiasHeight e BiasWidth devono corrispondere a InputTensor o essere impostate su 1 per trasmettere automaticamente tali dimensioni nell'input.
Se DML_FEATURE_LEVEL è maggiore o uguale a DML_FEATURE_LEVEL_4_0, qualsiasi dimensione può essere impostata su 1 e essere trasmessi automaticamente in corrispondenza di InputTensor.
Se DML_FEATURE_LEVEL è minore di DML_FEATURE_LEVEL_5_2, questo tensore è necessario se ScaleTensor è presente. Se DML_FEATURE_LEVEL è maggiore o uguale a DML_FEATURE_LEVEL_5_2, questo tensore può essere null indipendentemente dal valore di ScaleTensor.
OutputTensor
Tipo: const DML_TENSOR_DESC*
Un tensore a cui scrivere i risultati. Le dimensioni di questo tensore sono { BatchCount, ChannelCount, Height, Width }
.
AxisCount
Tipo: UINT
Numero di assi. Questo campo determina le dimensioni della matrice Assi .
Axes
Tipo: _Field_size_(AxisCount) const UINT*
Assi lungo cui calcolare la media e la varianza.
NormalizeVariance
Tipo: BOOL
TRUE se il livello di normalizzazione include varianza nel calcolo della normalizzazione. In caso contrario, FALSE. Se FALSE, l'equazione di normalizzazione è Output = FusedActivation(Scale * (Input - Mean) + Bias)
.
Epsilon
Tipo: FLOAT
Valore epsilon da usare per evitare la divisione per zero. Il valore predefinito è 0,00001.
FusedActivation
Tipo: _Maybenull_ const DML_OPERATOR_DESC*
Livello di attivazione fuso facoltativo da applicare dopo la normalizzazione.
Commenti
DML_MEAN_VARIANCE_NORMALIZATION1_OPERATOR_DESC è un superset di funzionalità di DML_MEAN_VARIANCE_NORMALIZATION_OPERATOR_DESC. In questo caso, impostando la matrice Assi su è l'equivalente dell'impostazione di CrossChannel su FALSE in DML_MEAN_VARIANCE_NORMALIZATION_OPERATOR_DESC, mentre l'impostazione della matrice { 2, 3 }
{ 1, 2, 3 }
Assi su equivale all'impostazione di CrossChannel su TRUE.
Disponibilità
Questo operatore è stato introdotto in DML_FEATURE_LEVEL_2_1
.
Vincoli tensor
BiasTensor, InputTensor, OutputTensor e ScaleTensor devono avere lo stesso Oggetto DataType e DimensionCount.
Supporto di Tensor
DML_FEATURE_LEVEL_3_1 e versioni successive
Tensore | Tipo | Conteggi delle dimensioni supportate | Tipi di dati supportati |
---|---|---|---|
InputTensor | Input | da 1 a 8 | FLOAT32, FLOAT16 |
ScaleTensor | Input facoltativo | da 1 a 8 | FLOAT32, FLOAT16 |
BiasTensor | Input facoltativo | da 1 a 8 | FLOAT32, FLOAT16 |
OutputTensor | Output | da 1 a 8 | FLOAT32, FLOAT16 |
DML_FEATURE_LEVEL_2_1 e versioni successive
Tensore | Tipo | Conteggi delle dimensioni supportate | Tipi di dati supportati |
---|---|---|---|
InputTensor | Input | 4 | FLOAT32, FLOAT16 |
ScaleTensor | Input facoltativo | 4 | FLOAT32, FLOAT16 |
BiasTensor | Input facoltativo | 4 | FLOAT32, FLOAT16 |
OutputTensor | Output | 4 | FLOAT32, FLOAT16 |
Requisiti
Client minimo supportato | Windows 10 Build 20348 |
Server minimo supportato | Windows 10 Build 20348 |
Intestazione | directml.h |