DML_RESAMPLE_GRAD_OPERATOR_DESC 结构 (directml.h)
计算重新采样的反向传播梯度, (请参阅 ) DML_RESAMPLE1_OPERATOR_DESC 。
DML_RESAMPLE1_OPERATOR_DESC 使用近邻采样或双线性内插重新缩放输入张量的任意维度。 如果 InputGradientTensor 的大小与等效DML_RESAMPLE1_OPERATOR_DESC的输出大小相同,则此运算符将生成与DML_RESAMPLE1_OPERATOR_DESC输入大小相同的 OutputGradientTensor。
例如,请考虑一个 DML_RESAMPLE1_OPERATOR_DESC ,该DML_RESAMPLE1_OPERATOR_DESC执行最接近的缩放,其宽度为 1.5 倍,高度为 0.5 倍。
InputTensor OutputTensor
[[1, 2], Resample [1, 1, 2]
[3, 4]] -->
请注意,值为 1 的输入张量 (的第 0 个元素) 如何贡献输出中的两个元素,值为 2) 的第 1 个元素 (贡献输出中的一个元素,而值为 3 和 4 的第 2 个和第 3 个元素 () 没有输出元素。
相应的 DML_RESAMPLE_GRAD_OPERATOR_DESC 将执行以下操作。
InputGradientTensor OutputGradientTensor
[4, 5, 6] ResampleGrad [[9, 6],
--> [0, 0]]
请注意,OutputGradientTensor 中的值表示在原始 DML_RESAMPLE1_OPERATOR_DESC 运算符期间该元素对 OutputTensor 的加权贡献。
语法
struct DML_RESAMPLE_GRAD_OPERATOR_DESC {
const DML_TENSOR_DESC *InputGradientTensor;
const DML_TENSOR_DESC *OutputGradientTensor;
DML_INTERPOLATION_MODE InterpolationMode;
UINT DimensionCount;
const FLOAT *Scales;
const FLOAT *InputPixelOffsets;
const FLOAT *OutputPixelOffsets;
};
成员
InputGradientTensor
类型: const DML_TENSOR_DESC*
传入的渐变张量。 这通常是从上一层的反向传播的输出中获取的。 通常,此张量的大小与正向传递中相应DML_RESAMPLE1_OPERATOR_DESC的输出大小相同。
OutputGradientTensor
类型: const DML_TENSOR_DESC*
包含反向传播渐变的输出张量。 通常,此张量的大小与正向传递中相应DML_RESAMPLE1_OPERATOR_DESC的输入大小相同。
InterpolationMode
请参阅 DML_RESAMPLE1_OPERATOR_DESC 中的 InterpolationMode。
DimensionCount
类型: UINT
Scales、InputPixelOffsets 和 OutputPixelOffsets 数组中的元素数。 此值必须等于 InputGradientTensor 和 OutputGradientTensor 中提供的 DimensionCount。
Scales
类型:_Field_size_ (DimensionCount) const FLOAT*
请参阅 DML_RESAMPLE1_OPERATOR_DESC 中的缩放。
InputPixelOffsets
类型:_Field_size_ (DimensionCount) const FLOAT*
请参阅 DML_RESAMPLE1_OPERATOR_DESC 中的 InputPixelOffsets。
OutputPixelOffsets
类型:_Field_size_ (DimensionCount) const FLOAT*
请参阅 DML_RESAMPLE1_OPERATOR_DESC 中的 OutputPixelOffsets。
可用性
此运算符是在 中引入的 DML_FEATURE_LEVEL_3_0
。
张量约束
InputGradientTensor 和 OutputGradientTensor 必须具有相同的 DataType 和 DimensionCount。
Tensor 支持
DML_FEATURE_LEVEL_5_1 及更高版本
张 | 种类 | 支持的维度计数 | 支持的数据类型 |
---|---|---|---|
InputGradientTensor | 输入 | 1 到 4 | FLOAT32、FLOAT16 |
OutputGradientTensor | 输出 | 1 到 4 | FLOAT32、FLOAT16 |
DML_FEATURE_LEVEL_3_0及更高版本
张 | 种类 | 支持的维度计数 | 支持的数据类型 |
---|---|---|---|
InputGradientTensor | 输入 | 4 | FLOAT32、FLOAT16 |
OutputGradientTensor | 输出 | 4 | FLOAT32、FLOAT16 |
要求
最低受支持的客户端 | Windows 10内部版本 20348 |
最低受支持的服务器 | Windows 10内部版本 20348 |
标头 | directml.h |