Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wykonuje naturalną funkcję aktywacji log-of-softmax dla każdego elementu InputTensor, umieszczając wynik w odpowiednim elemektorze 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])))
Gdzie exp(x) jest naturalną funkcją wykładniczą, a ln(x) jest logarytmem naturalnym.
Ważne
Ten interfejs API jest dostępny w ramach autonomicznego pakietu redystrybucyjnego DirectML (zobacz Microsoft.AI.DirectML w wersji 1.9 lub nowszej. Zobacz również historię wersji języka DirectML.
Składnia
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;
};
Członkowie
InputTensor
Typ: const DML_TENSOR_DESC*
Tensor wejściowy do odczytu.
OutputTensor
Typ: const DML_TENSOR_DESC*
Tensor wyjściowy do zapisania wyników.
AxisCount
Typ: UINT
Liczba osi do obliczenia sumy redukcji. To pole określa rozmiar tablicy Osi.
Axes
Typ: _Field_size_(AxisCount) const UINT*
Osie, wzdłuż których można zmniejszyć sumę. Wartości muszą znajdować się w zakresie [0, InputTensor.DimensionCount - 1].
Przykłady
W poniższych przykładach wszystkie używają tego samego ten sam ten trójwymiarowy tensor wejściowy:
InputTensor: (Sizes:{2, 2, 2}, DataType:FLOAT32)
[
[
[ 12, 0],
[-101, 11],
],
[
[ 3, 234],
[ 0, -101],
]
]
Przykład 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],
]
]
Przykład 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],
]
]
Przykład 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],
]
]
Uwagi
Ten operator jest odpowiednikiem DML_ACTIVATION_LOG_SOFTMAX_OPERATOR_DESC , gdy AxisCount == 1 i osie == {DimensionCount - 1}.
Dostępność
Ten operator został wprowadzony w DML_FEATURE_LEVEL_5_1.
Ograniczenia dotyczące tensorów
Klasy InputTensor i OutputTensor muszą mieć te same wartości DataType, DimensionCount i Size.
Obsługa biblioteki Tensor
| Tensor | Rodzaj | Obsługiwane liczby wymiarów | Obsługiwane typy danych |
|---|---|---|---|
| Tensor wejściowy | Dane wejściowe | Od 1 do 8 | FLOAT32, FLOAT16 |
| Tensor wyjściowy | Wynik | Od 1 do 8 | FLOAT32, FLOAT16 |
Wymagania
| Nagłówek | directml.h |