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
引入的。
张量约束
InputGradientTensor、 InputTensor 和 OutputGradientTensor 必须具有相同的 DataType、 DimensionCount 和 Size。
张量支持
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 |