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