структура DML_ACTIVATION_SOFTMAX_OPERATOR_DESC (directml.h)
Выполняет функцию активации softmax для InputTensor, помещая результат в соответствующий элемент OutputTensor.
For 1-D InputTensor:
// Let x[i] be the current element in the InputTensor, and j be the total number of elements in the InputTensor
f(x[i]) = exp(x[i]) / sum(exp(x[0]), ..., exp(x[j-1]))
Где exp(x) — это функция естественной экспоненциации.
Синтаксис
struct DML_ACTIVATION_SOFTMAX_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *OutputTensor;
};
Члены
InputTensor
Тип: const DML_TENSOR_DESC*
Входной тензор для чтения. Этот тензор должен иметь действующий ранг не больше 2. Эффективный ранг тензора — это DimensionCount тензора, за исключением крайних левых измерений размера 1. Например, размер тензора является допустимым { 1, 1, BatchCount, Width }
и эквивалентен тензору размеров { BatchCount, Width }
.
OutputTensor
Тип: const DML_TENSOR_DESC*
Выходной тензор для записи результатов.
Доступность
Этот оператор появился в DML_FEATURE_LEVEL_1_0
.
Ограничения тензоров
InputTensor и OutputTensor должны иметь одинаковые значения DataType, DimensionCount и Sizes.
Поддержка тензоров
DML_FEATURE_LEVEL_3_0 и выше
Тензор | Kind | Поддерживаемые счетчики измерений | Поддерживаемые типы данных |
---|---|---|---|
InputTensor | Входные данные | От 1 до 8 | FLOAT32, FLOAT16 |
OutputTensor | Выходные данные | От 1 до 8 | FLOAT32, FLOAT16 |
DML_FEATURE_LEVEL_2_0 и выше
Тензор | Kind | Поддерживаемые счетчики измерений | Поддерживаемые типы данных |
---|---|---|---|
InputTensor | Входные данные | От 4 до 5 | FLOAT32, FLOAT16 |
OutputTensor | Выходные данные | От 4 до 5 | FLOAT32, FLOAT16 |
DML_FEATURE_LEVEL_1_0 и выше
Тензор | Kind | Поддерживаемые счетчики измерений | Поддерживаемые типы данных |
---|---|---|---|
InputTensor | Входные данные | 4 | FLOAT32, FLOAT16 |
OutputTensor | Выходные данные | 4 | FLOAT32, FLOAT16 |
Требования
Требование | Значение |
---|---|
Заголовок | directml.h |