DML_ELEMENT_WISE_BIT_XOR_OPERATOR_DESC structure (directml.h)
Calcule le XOR au niveau du bit (eXclusive OR) entre chaque élément correspondant des tenseurs d’entrée, puis écrit le résultat dans le tenseur de sortie.
L’opération au niveau du bit est appliquée aux données tensoriels dans son encodage natif. Par conséquent, le type de données tensoriel est ignoré, sauf pour déterminer la largeur de chaque élément.
Cet opérateur prend en charge l’exécution sur place, ce qui signifie que le tenseur de sortie est autorisé à alias un ou plusieurs des tenseurs d’entrée pendant la liaison.
Syntaxe
struct DML_ELEMENT_WISE_BIT_XOR_OPERATOR_DESC {
const DML_TENSOR_DESC *ATensor;
const DML_TENSOR_DESC *BTensor;
const DML_TENSOR_DESC *OutputTensor;
};
Membres
ATensor
Type : const DML_TENSOR_DESC*
Tenseur contenant les entrées du côté gauche.
BTensor
Type : const DML_TENSOR_DESC*
Tenseur contenant les entrées du côté droit.
OutputTensor
Type : const DML_TENSOR_DESC*
Tenseur de sortie dans lequel écrire les résultats.
Exemple
InputTensor: (Sizes:{2,2}, DataType:UINT8)
[[0, 128], // 0b00000000, 0b10000000
[42, 255]] // 0b00101010, 0b11111111
OutputTensor: (Sizes:{2,2}, DataType:UINT8)
[[255, 127], // 0b11111111, 0b01111111
[213, 0 ]] // 0b11010101, 0b00000000
Disponibilité
Cet opérateur a été introduit dans DML_FEATURE_LEVEL_3_0
.
Contraintes tensoriels
ATensor, BTensor et OutputTensor doivent avoir les mêmes DataType, DimensionCount et Sizes.
Prise en charge des tenseurs
DML_FEATURE_LEVEL_4_1 et versions ultérieures
Tenseur | Genre | Nombre de dimensions pris en charge | Types de données pris en charge |
---|---|---|---|
ATensor | Entrée | 1 à 8 | FLOAT64, FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8 |
BTensor | Entrée | 1 à 8 | FLOAT64, FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8 |
OutputTensor | Sortie | 1 à 8 | FLOAT64, 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 |
---|---|---|---|
ATensor | Entrée | 1 à 8 | UINT32, UINT16, UINT8 |
BTensor | Entrée | 1 à 8 | UINT32, UINT16, UINT8 |
OutputTensor | Sortie | 1 à 8 | UINT32, UINT16, UINT8 |
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10 Build 20348 |
Serveur minimal pris en charge | Windows 10 Build 20348 |
En-tête | directml.h |