Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Effectue une fonction d’activation log-of-softmax naturelle sur chaque élément de InputTensor, en plaçant le résultat dans l’élément correspondant de OutputTensor.
For 1-D InputTensor:
// Let x[i] to be the current element in the InputTensor, and j be the total number of elements in the InputTensor
f(x[i]) = ln(exp(x[i]) / sum(exp(x[0]), ..., exp(x[j-1])))
Où exp(x) est la fonction d’exponentiation naturelle, et ln(x) est le logarithme naturel.
Important
Cette API est disponible dans le cadre du package redistribuable autonome DirectML (voir Microsoft.AI.DirectML version 1.9 et ultérieures. Consultez également l’historique des versions DirectML.
Syntaxe
struct DML_ACTIVATION_LOG_SOFTMAX1_OPERATOR_DESC
{
const DML_TENSOR_DESC* InputTensor;
const DML_TENSOR_DESC* OutputTensor;
UINT AxisCount;
_Field_size_(AxisCount) const UINT* Axes;
};
Membres
InputTensor
Type : const DML_TENSOR_DESC*
Capteur d’entrée à partir duquel lire.
OutputTensor
Type : const DML_TENSOR_DESC*
Le tensoriel de sortie dans lequel écrire les résultats.
AxisCount
Type : UINT
Nombre d’axes pour calculer la somme de réduction. Ce champ détermine la taille du tableau Axes .
Axes
Type : _Field_size_(AxisCount) const UINT*
Axes le long desquels réduire la somme. Les valeurs doivent se trouver dans la plage [0, InputTensor.DimensionCount - 1].
Exemples
Les exemples suivants utilisent tous ce même capteur d’entrée tridimensionnel :
InputTensor: (Sizes:{2, 2, 2}, DataType:FLOAT32)
[
[
[ 12, 0],
[-101, 11],
],
[
[ 3, 234],
[ 0, -101],
]
]
Exemple 1
AxisCount: 1
Axes: {1}
OutputTensor: (Sizes:{2, 2, 2}, DataType:FLOAT32)
[
[ // max element in {12, -101} is 12 and in {0, 11} is 11
[1, 0],
[0, 1],
],
[ // max element in {3, 0} is 3 and in {234, -101} is 234
[1, 1],
[0, 0],
]
]
Exemple 2
AxisCount: 1
Axes: {0}
OutputTensor: (Sizes:{2, 2, 2}, DataType:FLOAT32)
[
[ // max element in {12, 3} is 12, in {0, 234} is 234, in {-101, 0} is 0 and in {11, -101} is 11
[1, 0],
[0, 1],
],
[
[0, 1],
[1, 0],
]
]
Exemple 3
AxisCount: 2
Axes: {0, 2}
OutputTensor: (Sizes:{2, 2, 2}, DataType:FLOAT32)
[
[ // max element in {12, 0, 3, 234} is 234 and in {-101, 11, 0, -101} is 11
[0, 0],
[0, 1],
],
[
[0, 1],
[0, 0],
]
]
Remarques
Cet opérateur équivaut à DML_ACTIVATION_LOG_SOFTMAX_OPERATOR_DESC lorsque AxisCount == 1 et Axes == {DimensionCount - 1}.
Disponibilité
Cet opérateur a été introduit dans DML_FEATURE_LEVEL_5_1.
Contraintes Tensor
InputTensor et OutputTensor doivent avoir les mêmes DataType, DimensionCount et Sizes.
Prise en charge de Tensor
| Tenseur | Genre | Nombres de dimensions pris en charge | Types de données pris en charge |
|---|---|---|---|
| InputTensor | Entrée | 1 à 8 | FLOAT32, FLOAT16 |
| Tenseur de sortie | Sortie | 1 à 8 | FLOAT32, FLOAT16 |
Spécifications
| En-tête | directml.h |