DML_ELEMENT_WISE_CLIP_OPERATOR_DESC 结构 (directml.h)

InputTensor 的每个元素执行以下操作,将结果放入 OutputTensor 的相应元素中。 此运算符将 (或限制) 闭合间隔 [Min, Max] 内输入中的每个元素。

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,则在应用剪裁操作之前, MinMax 将转换为张量数据类型 (整数表示截断为零;对于舍入到最接近的偶数) 的浮点值,和 。

可用性

此运算符是在 中引入的 DML_FEATURE_LEVEL_1_0

张量约束

InputTensorOutputTensor 必须具有相同的 DataTypeDimensionCountSize

Tensor 支持

DML_FEATURE_LEVEL_5_0及更高版本

种类 支持的维度计数 支持的数据类型
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及更高版本

种类 支持的维度计数 支持的数据类型
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及更高版本

种类 支持的维度计数 支持的数据类型
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 及更高版本

种类 支持的维度计数 支持的数据类型
InputTensor 输入 4 FLOAT32、FLOAT16
OutputTensor 输出 4 FLOAT32、FLOAT16

要求

要求
Header directml.h