Freigeben über


DML_ACTIVATION_CELU_OPERATOR_DESC-Struktur (directml.h)

Führt für jedes Element in InputTensor die Aktivierungsfunktion für kontinuierlich differenzierbare exponential lineare Einheit (CELU) aus, und platziert das Ergebnis in das entsprechende Element von OutputTensor.

f(x) = max(0, x) + min(0, Alpha * (exp(x / Alpha) - 1));

Hierbei gilt:

  • exp(x) ist die natürliche Exponentiationsfunktion
  • max(a,b) gibt den größeren der beiden Werte a,b zurück.
  • min(a,b) gibt den kleineren der beiden Werte a,b zurück.

Dieser Operator unterstützt die direkte Ausführung, was bedeutet, dass der Ausgabe-Tensor während der Bindung den Alias InputTensor verwenden darf.

Syntax

struct DML_ACTIVATION_CELU_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputTensor;
  const DML_TENSOR_DESC *OutputTensor;
  FLOAT                 Alpha;
};

Member

InputTensor

Typ: const DML_TENSOR_DESC*

Der Eingabe tensor, aus dem gelesen werden soll.

OutputTensor

Typ: const DML_TENSOR_DESC*

Der Ausgabe tensor, in den die Ergebnisse geschrieben werden sollen.

Alpha

Typ: FLOAT

Der Alpha-Koeffizient. Ein typischer Standardwert für diesen Wert ist 1.0.

Verfügbarkeit

Dieser Operator wurde in DML_FEATURE_LEVEL_3_0eingeführt.

Tensoreinschränkungen

InputTensor und OutputTensor müssen denselben DataType, DimensionCount und Sizes aufweisen.

Tensorunterstützung

Tensor Typ Unterstützte Dimensionsanzahl Unterstützte Datentypen
InputTensor Eingabe 1 bis 8 FLOAT32, FLOAT16
OutputTensor Ausgabe 1 bis 8 FLOAT32, FLOAT16

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 10 Build 20348
Unterstützte Mindestversion (Server) Windows 10 Build 20348
Kopfzeile directml.h