Share via


DML_MEAN_VARIANCE_NORMALIZATION_OPERATOR_DESC-Struktur (directml.h)

Führt eine Mittlere Varianznormalisierungsfunktion für den Eingabe tensor aus. Dieser Operator berechnet den Mittelwert und die Varianz des Eingabe-Tensors, um die Normalisierung durchzuführen. Dieser Operator führt die folgende Berechnung aus.

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

Syntax

struct DML_MEAN_VARIANCE_NORMALIZATION_OPERATOR_DESC {
  const DML_TENSOR_DESC   *InputTensor;
  const DML_TENSOR_DESC   *ScaleTensor;
  const DML_TENSOR_DESC   *BiasTensor;
  const DML_TENSOR_DESC   *OutputTensor;
  BOOL                    CrossChannel;
  BOOL                    NormalizeVariance;
  FLOAT                   Epsilon;
  const DML_OPERATOR_DESC *FusedActivation;
};

Member

InputTensor

Typ: const DML_TENSOR_DESC*

Ein Tensor, der die Eingabedaten enthält. Die Dimensionen dieses Tensors sollten sein { BatchCount, ChannelCount, Height, Width }.

ScaleTensor

Typ: _Maybenull_ const DML_TENSOR_DESC*

Ein optionaler Tensor, der die Skalierungsdaten enthält. Die Dimensionen dieses Tensors sollten sein { BatchCount, ChannelCount, Height, Width }. Jede Dimension kann durch 1 ersetzt werden, um in dieser Dimension zu senden. Wenn DML_FEATURE_LEVEL kleiner als DML_FEATURE_LEVEL_5_2 ist, ist dieser Tensor erforderlich, wenn BiasTensor vorhanden ist. Wenn DML_FEATURE_LEVEL größer oder gleich DML_FEATURE_LEVEL_5_2 ist, kann dieser Tensor unabhängig vom Wert von BiasTensor NULL sein.

BiasTensor

Typ: _Maybenull_ const DML_TENSOR_DESC*

Ein optionaler Tensor, der die Biasdaten enthält. Die Dimensionen dieses Tensors sollten sein { BatchCount, ChannelCount, Height, Width }. Jede Dimension kann durch 1 ersetzt werden, um in dieser Dimension zu senden. Wenn DML_FEATURE_LEVEL kleiner als DML_FEATURE_LEVEL_5_2 ist, ist dieser Tensor erforderlich, wenn ScaleTensor vorhanden ist. Wenn DML_FEATURE_LEVEL größer oder gleich DML_FEATURE_LEVEL_5_2 ist, kann dieser Tensor unabhängig vom Wert von ScaleTensor NULL sein.

OutputTensor

Typ: const DML_TENSOR_DESC*

Ein Tensor, in den die Ergebnisse geschrieben werden sollen. Die Dimensionen dieses Tensors sind { BatchCount, ChannelCount, Height, Width }.

CrossChannel

Typ: BOOL

Bei TRUE schließt die MeanVariance-Ebene Kanäle in die Mittel- und Varianzberechnungen ein, was bedeutet, dass sie achsenübergreifend {ChannelCount, Height, Width}normalisiert werden. Wenn FALSE, Mittelwert- und Varianzberechnungen achsenübergreifend {Height, Width} normalisiert werden, wobei jeder Kanal unabhängig ist.

NormalizeVariance

Typ: BOOL

TRUE , wenn die Normalisierungsebene Variance in die Normalisierungsberechnung einschließt. Andernfalls FALSE. Wenn FALSE, ist die Normalisierungsgleichung Output = FusedActivation(Scale * (Input - Mean) + Bias).

Epsilon

Typ: FLOAT

Der Epsilonwert, der verwendet werden soll, um eine Aufteilung durch null zu vermeiden. Als Standard wird der Wert 0,00001 empfohlen.

FusedActivation

Typ: _Maybenull_ const DML_OPERATOR_DESC*

Eine optionale fusionierte Aktivierungsebene, die nach der Normalisierung angewendet werden soll. Weitere Informationen finden Sie unter Verwenden von fusionierten Operatoren für verbesserte Leistung.

Hinweise

Eine neuere Version dieses Operators, DML_MEAN_VARIANCE_NORMALIZATION1_OPERATOR_DESC, wurde in DML_FEATURE_LEVEL_2_1eingeführt.

Verfügbarkeit

Dieser Operator wurde in DML_FEATURE_LEVEL_1_0eingeführt.

Tensoreinschränkungen

  • InputTensor und OutputTensor müssen die gleichen Größen aufweisen.
  • BiasTensor, InputTensor, OutputTensor und ScaleTensor müssen denselben DataType aufweisen.

Tensorunterstützung

Tensor Variante Dimensionen Unterstützte Dimensionsanzahl Unterstützte Datentypen
InputTensor Eingabe { BatchCount, ChannelCount, Height, Width } 4 FLOAT32, FLOAT16
ScaleTensor Optionale Eingabe { ScaleBatchCount, ScaleChannelCount, ScaleHeight, ScaleWidth } 4 FLOAT32, FLOAT16
BiasTensor Optionale Eingabe { BiasBatchCount, BiasChannelCount, BiasHeight, BiasWidth } 4 FLOAT32, FLOAT16
OutputTensor Ausgabe { BatchCount, ChannelCount, Height, Width } 4 FLOAT32, FLOAT16

Anforderungen

   
Kopfzeile directml.h

Weitere Informationen