Condividi tramite


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

Vedi anche

Uso degli operatori fusi per migliorare le prestazioni