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
Min 和 Max 成员的数据类型,必须与 OutputTensor.DataType 匹配。
Min
类型: DML_SCALAR_UNION
最小值。 如果 x 等于或低于此值,则渐变结果为 0。 MinMaxDataType 确定如何解释字段。
Max
类型: DML_SCALAR_UNION
最大值。 如果 x 等于或高于此值,则渐变结果为 0。 MinMaxDataType 确定如何解释字段。
备注
可用性
此运算符是在 DML_FEATURE_LEVEL_5_0 中引入 的。
张量约束
InputGradientTensor、 InputTensor 和 OutputGradientTensor 必须具有相同的 DataType、 DimensionCount 和 Size。
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 |