DML_ELEMENT_WISE_CLIP_GRAD_OPERATOR_DESC 结构 (directml.h)

计算 按元素剪辑的反向传播渐变。

f(x, gradient) = if x <= Min then 0
                 if x >= Max then 0
                 else        then gradient

此运算符支持就地执行,这意味着 OutputTensor 允许在绑定期间为 InputTensor 添加别名。

语法

struct DML_ELEMENT_WISE_CLIP_GRAD_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputTensor;
  const DML_TENSOR_DESC *InputGradientTensor;
  const DML_TENSOR_DESC *OutputGradientTensor;
  FLOAT                 Min;
  FLOAT                 Max;
};

成员

InputTensor

类型: const DML_TENSOR_DESC*

输入特征张量。 这通常与 InputTensor 提供的张量相同,用于在前向传递中 DML_ELEMENT_WISE_CLIP_OPERATOR_DESC

InputGradientTensor

类型: const DML_TENSOR_DESC*

传入的渐变张量。 这通常是从上一层的反向传播的输出中获取的。 通常,此张量的大小与前向传递中相应DML_OPERATOR_ELEMENT_WISE_CLIP输出大小相同。

OutputGradientTensor

类型: const DML_TENSOR_DESC*

包含反向传播渐变的输出张量。 通常,此张量的大小与前向传递中相应DML_OPERATOR_ELEMENT_WISE_CLIP输入大小相同。

Min

类型: FLOAT

最小值。 如果 x 等于或低于此值,则渐变结果为 0。

Max

类型: FLOAT

最大值。 如果 x 等于或高于此值,则渐变结果为 0。

备注

可用性

此运算符是在 中 DML_FEATURE_LEVEL_3_1引入的。

张量约束

InputGradientTensorInputTensorOutputGradientTensor 必须具有相同的 DataTypeDimensionCountSize

张量支持

DML_FEATURE_LEVEL_5_0 及更高版本

种类 支持的维度计数 支持的数据类型
InputTensor 输入 1 到 8 FLOAT32、FLOAT16、INT64、INT32、INT16、INT8、UINT64、UINT32、UINT16、UINT8
InputGradientTensor 输入 1 到 8 FLOAT32、FLOAT16、INT64、INT32、INT16、INT8、UINT64、UINT32、UINT16、UINT8
OutputGradientTensor 输出 1 到 8 FLOAT32、FLOAT16、INT64、INT32、INT16、INT8、UINT64、UINT32、UINT16、UINT8

DML_FEATURE_LEVEL_3_1 及更高版本

种类 支持的维度计数 支持的数据类型
InputTensor 输入 1 到 8 FLOAT32、FLOAT16、INT32、INT16、INT8、UINT32、UINT16、UINT8
InputGradientTensor 输入 1 到 8 FLOAT32、FLOAT16、INT32、INT16、INT8、UINT32、UINT16、UINT8
OutputGradientTensor 输出 1 到 8 FLOAT32、FLOAT16、INT32、INT16、INT8、UINT32、UINT16、UINT8

要求

   
最低受支持的客户端 Windows 内部版本 22000
最低受支持的服务器 Windows 内部版本 22000
标头 directml.h