структура DML_ACTIVATION_CELU_OPERATOR_DESC (directml.h)
Выполняет функцию активации непрерывно отличающихся экспоненциальных линейных единиц (CELU) для каждого элемента в InputTensor, помещая результат в соответствующий элемент OutputTensor.
f(x) = max(0, x) + min(0, Alpha * (exp(x / Alpha) - 1));
Где:
- exp(x) — это функция естественной экспоненциации.
- max(a,b) возвращает большее из двух значений a,b
- min(a,b) возвращает меньшее из двух значений a,b
Этот оператор поддерживает выполнение на месте, что означает, что выходному тензору разрешено использовать псевдоним InputTensor во время привязки .
Синтаксис
struct DML_ACTIVATION_CELU_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *OutputTensor;
FLOAT Alpha;
};
Члены
InputTensor
Тип: const DML_TENSOR_DESC*
Входной тензор для чтения.
OutputTensor
Тип: const DML_TENSOR_DESC*
Выходной тензор для записи результатов.
Alpha
Тип: FLOAT
Коэффициент альфа. Обычно для этого значения используется значение 1,0.
Доступность
Этот оператор появился в DML_FEATURE_LEVEL_3_0
.
Ограничения тензоров
InputTensor и OutputTensor должны иметь одинаковые значения DataType, DimensionCount и Size.
Поддержка тензоров
Тензор | Kind | Поддерживаемые счетчики измерений | Поддерживаемые типы данных |
---|---|---|---|
InputTensor | Входные данные | От 1 до 8 | FLOAT32, FLOAT16 |
OutputTensor | Выходные данные | От 1 до 8 | FLOAT32, FLOAT16 |
Требования
Минимальная версия клиента | Windows 10 сборки 20348 |
Минимальная версия сервера | Windows 10 сборки 20348 |
Верхняя часть | directml.h |