Partager via


DML_ELEMENT_WISE_CLIP_GRAD1_OPERATOR_DESC structure (directml.h)

Calcule les gradients de rétropropagation pour DML_OPERATOR_ELEMENT_WISE_CLIP1.

f(x, gradient) = if x <= Min then 0
                 if x >= Max then 0
                 else        then gradient

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_GRAD1_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputTensor;
  const DML_TENSOR_DESC *InputGradientTensor;
  const DML_TENSOR_DESC *OutputGradientTensor;
  DML_TENSOR_DATA_TYPE  MinMaxDataType;
  DML_SCALAR_UNION      Min;
  DML_SCALAR_UNION      Max;
};

Membres

InputTensor

Type : const DML_TENSOR_DESC*

Tensoreur de la fonctionnalité d’entrée. Il s’agit généralement du même tenseur que celui fourni comme inputTensor pour DML_OPERATOR_ELEMENT_WISE_CLIP1 dans la passe avant.

InputGradientTensor

Type : const DML_TENSOR_DESC*

Tenseur de gradient entrant. Cela est généralement obtenu à partir de la sortie de la rétropropagation d’une couche précédente. En règle générale, ce tenseur a les mêmes tailles que la sortie du DML_OPERATOR_ELEMENT_WISE_CLIP1 correspondant dans la passe avant.

OutputGradientTensor

Type : const DML_TENSOR_DESC*

Tenseur de sortie contenant les dégradés rétropropagés. En règle générale, ce tenseur a les mêmes tailles que l’entrée du DML_OPERATOR_ELEMENT_WISE_CLIP1 correspondant dans la passe avant.

MinMaxDataType

Type : DML_TENSOR_DATA_TYPE

Type de données des membres Min et Max , qui doit correspondre à OutputTensor.DataType.

Min

Type : DML_SCALAR_UNION

Valeur minimale. Si x est égal ou inférieur à cette valeur, le résultat du dégradé est 0. MinMaxDataType détermine comment interpréter le champ.

Max

Type : DML_SCALAR_UNION

Valeur maximale. Si x est égal ou supérieur à cette valeur, le résultat du dégradé est 0. MinMaxDataType détermine comment interpréter le champ.

Remarques

Disponibilité

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

Contraintes tensoriels

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

Prise en charge des tenseurs

Tenseur Type 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
InputGradientTensor Entrée 1 à 8 FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8
OutputGradientTensor Output 1 à 8 FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8

Configuration requise

   
En-tête directml.h