Partager via


DML_ELEMENT_WISE_CLIP_OPERATOR_DESC structure (directml.h)

Effectue l’opération suivante pour chaque élément de InputTensor, en plaçant le résultat dans l’élément correspondant de OutputTensor. Cet opérateur restreint (ou limite) chaque élément de l’entrée dans l’intervalle fermé [Min, Max].

f(x) = max(Min, min(x, Max))

Où max(a,b) retourne la plus grande des deux valeurs, et 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 OutputTensor est autorisé à alias InputTensor pendant la liaison.

Syntaxe

struct DML_ELEMENT_WISE_CLIP_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputTensor;
  const DML_TENSOR_DESC *OutputTensor;
  const DML_SCALE_BIAS  *ScaleBias;
  FLOAT                 Min;
  FLOAT                 Max;
};

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.

ScaleBias

Type : _Maybenull_ const DML_SCALE_BIAS*

Mise à l’échelle et biais facultatifs à appliquer à l’entrée. Le cas échéant, cela a pour effet d’appliquer la fonction g(x) = x * scale + bias à chaque élément d’entrée avant de calculer cet opérateur.

Min

Type : FLOAT

Valeur minimale, en dessous de laquelle l’opérateur remplace la valeur par Min.

Max

Type : FLOAT

Valeur maximale, au-dessus de laquelle l’opérateur remplace la valeur par Max.

Remarques

Si le type de données tensoriel n’est pas float, min et max sont convertis en type de données tenseur avant d’appliquer l’opération de découpage (qui, pour les entiers, signifie troncation vers zéro ; et pour les valeurs à virgule flottante arrondies au pair le plus proche).

Disponibilité

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

Contraintes tensoriels

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

Prise en charge des tenseurs

DML_FEATURE_LEVEL_5_0 et versions ultérieures

Tenseur Genre Nombre de dimensions pris en charge Types de données pris en charge
InputTensor Entrée 1 à 8 FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8
OutputTensor Sortie 1 à 8 FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8

DML_FEATURE_LEVEL_3_0 et versions ultérieures

Tenseur Genre Nombre de dimensions pris en charge Types de données pris en charge
InputTensor Entrée 1 à 8 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Sortie 1 à 8 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8

DML_FEATURE_LEVEL_2_1 et versions ultérieures

Tenseur Genre Nombre de dimensions pris en charge Types de données pris en charge
InputTensor Entrée 4 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Sortie 4 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8

DML_FEATURE_LEVEL_1_0 et versions ultérieures

Tenseur Genre Nombre de dimensions pris en charge Types de données pris en charge
InputTensor Entrée 4 FLOAT32, FLOAT16
OutputTensor Sortie 4 FLOAT32, FLOAT16

Configuration requise

Condition requise Valeur
En-tête directml.h