DML_ELEMENT_WISE_CLIP_GRAD1_OPERATOR_DESC 结构 (directml.h)

计算 DML_OPERATOR_ELEMENT_WISE_CLIP1的反向传播梯度。

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

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

语法

struct DML_ELEMENT_WISE_CLIP_GRAD1_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputTensor;
  const DML_TENSOR_DESC *InputGradientTensor;
  const DML_TENSOR_DESC *OutputGradientTensor;
  DML_TENSOR_DATA_TYPE  MinMaxDataType;
  DML_SCALAR_UNION      Min;
  DML_SCALAR_UNION      Max;
};

成员

InputTensor

类型: const DML_TENSOR_DESC*

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

InputGradientTensor

类型: const DML_TENSOR_DESC*

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

OutputGradientTensor

类型: const DML_TENSOR_DESC*

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

MinMaxDataType

类型: DML_TENSOR_DATA_TYPE

MinMax 成员的数据类型,必须与 OutputTensor.DataType 匹配。

Min

类型: DML_SCALAR_UNION

最小值。 如果 x 等于或低于此值,则渐变结果为 0。 MinMaxDataType 确定如何解释字段。

Max

类型: DML_SCALAR_UNION

最大值。 如果 x 等于或高于此值,则渐变结果为 0。 MinMaxDataType 确定如何解释字段。

备注

可用性

此运算符是在 DML_FEATURE_LEVEL_5_0 中引入

张量约束

InputGradientTensorInputTensorOutputGradientTensor 必须具有相同的 DataTypeDimensionCountSize

Tensor 支持

种类 支持的维度计数 支持的数据类型
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

要求

   
标头 directml.h