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


структура DML_ELEMENT_WISE_CLIP_OPERATOR_DESC (directml.h)

Выполняет следующую операцию для каждого элемента InputTensor, помещая результат в соответствующий элемент OutputTensor. Этот оператор зажимает (или ограничивает) каждый элемент во входных данных в пределах закрытого интервала [мин., максимум].

f(x) = max(Min, min(x, Max))

Где max(a,b) возвращает большее из двух значений, а min(a,b) возвращает меньшее из двух значений a,b.

Этот оператор поддерживает выполнение на месте, а это означает, что OutputTensor может использовать псевдоним InputTensor во время привязки .

Синтаксис

struct DML_ELEMENT_WISE_CLIP_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputTensor;
  const DML_TENSOR_DESC *OutputTensor;
  const DML_SCALE_BIAS  *ScaleBias;
  FLOAT                 Min;
  FLOAT                 Max;
};

Члены

InputTensor

Тип: const DML_TENSOR_DESC*

Входной тензор для чтения.

OutputTensor

Тип: const DML_TENSOR_DESC*

Выходной тензор для записи результатов.

ScaleBias

Тип: _Maybenull_ const DML_SCALE_BIAS*

Необязательный масштаб и смещение для применения к входным данным. Если он имеется, функция применяется к каждому g(x) = x * scale + biasвходным элементу перед вычислением этого оператора.

Min

Тип: FLOAT

Минимальное значение, ниже которого оператор заменяет значение min.

Max

Тип: FLOAT

Максимальное значение, выше которого оператор заменяет значение max.

Комментарии

Если тип данных тензора не является типом float, то Min и Max приведения к типу данных тензора перед применением операции обрезки (которая для целых чисел означает усечение к нулю, а для значений с плавающей запятой округляется до ближайшего четного значения).

Доступность

Этот оператор появился в DML_FEATURE_LEVEL_1_0.

Ограничения тензоров

InputTensor и OutputTensor должны иметь одинаковые значения DataType, DimensionCount и Size.

Поддержка тензоров

DML_FEATURE_LEVEL_5_0 и выше

Тензор Kind Поддерживаемые счетчики измерений Поддерживаемые типы данных
InputTensor Входные данные От 1 до 8 FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8
OutputTensor Выходные данные От 1 до 8 FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8

DML_FEATURE_LEVEL_3_0 и выше

Тензор Kind Поддерживаемые счетчики измерений Поддерживаемые типы данных
InputTensor Входные данные От 1 до 8 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Выходные данные От 1 до 8 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8

DML_FEATURE_LEVEL_2_1 и выше

Тензор Kind Поддерживаемые счетчики измерений Поддерживаемые типы данных
InputTensor Входные данные 4 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Выходные данные 4 FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8

DML_FEATURE_LEVEL_1_0 и выше

Тензор Kind Поддерживаемые счетчики измерений Поддерживаемые типы данных
InputTensor Входные данные 4 FLOAT32, FLOAT16
OutputTensor Выходные данные 4 FLOAT32, FLOAT16

Требования

Требование Значение
Заголовок directml.h