Partager via


structure DML_ACTIVATION_CELU_OPERATOR_DESC (directml.h)

Effectue la fonction d’activation ceLU (Exponentielle Linear Unit) différentiable en continu sur chaque élément dans InputTensor, en plaçant le résultat dans l’élément correspondant de OutputTensor.

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

Où :

  • exp(x) est la fonction d’exposant naturel.
  • max(a,b) retourne la plus grande des deux valeurs a,b
  • min(a,b) retourne la plus petite des deux valeurs a,b

Cet opérateur prend en charge l’exécution sur place, ce qui signifie que le tenseur de sortie est autorisé à alias InputTensor pendant la liaison.

Syntaxe

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

Membres

InputTensor

Type : const DML_TENSOR_DESC*

Tenseur d’entrée à partir duquel lire.

OutputTensor

Type : const DML_TENSOR_DESC*

Tenseur de sortie dans lequel écrire les résultats.

Alpha

Type : FLOAT

Coefficient alpha. Une valeur par défaut classique pour cette valeur est 1.0.

Disponibilité

Cet opérateur a été introduit dans DML_FEATURE_LEVEL_3_0.

Contraintes tensoriels

InputTensor et OutputTensor doivent avoir les mêmes DataType, DimensionCount et Sizes.

Prise en charge des tenseurs

Tenseur Type Nombres de dimensions pris en charge Types de données pris en charge
InputTensor Entrée 1 à 8 FLOAT32, FLOAT16
OutputTensor Output 1 à 8 FLOAT32, FLOAT16

Spécifications

   
Client minimal pris en charge Windows 10 Build 20348
Serveur minimal pris en charge Windows 10 Build 20348
En-tête directml.h