Поделиться через


структура 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