Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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_1
eingeführt.
Verfügbarkeit
Dieser Operator wurde in DML_FEATURE_LEVEL_1_0
eingefü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 |