接口功能:实现可变形卷积反向传播功能,计算输入梯度、权重梯度、偏置梯度和偏移量梯度。
计算公式:
输入input()、输出out()和卷积步长()、卷积核大小()、膨胀参数()、填充()的关系是:
可变形卷积反向传播需要计算对卷积正向的输入张量 (对应函数原型中的input)、卷积核权重张量 (对应函数原型中的weight)、偏置 (对应函数原型中的bias)和偏移量 (对应函数原型中的offset)的梯度。
对于可变形卷积,每个输出位置的采样位置由偏移量动态决定。设输出位置为,对应的偏移量为,则实际采样位置为,其中和分别为高度和宽度方向的步长。
对于 的梯度 (对应函数原型中的gradInput参数):
其中, 为损失函数, 为输出张量 对 的梯度(对应函数原型中的gradOutput参数), 为指示函数,当采样位置与输入位置重合时为1,否则为0。实际实现中通过双线性插值将梯度分配到邻近的像素位置。
对于 的梯度 (对应函数原型中的gradWeight参数):
其中,和分别表示采样位置的高度和宽度坐标,通过双线性插值从输入张量中采样得到。
对于 的梯度 (对应函数原型中的gradBias参数):
对于 的梯度 (对应函数原型中的gradOffset参数):
其中,偏移量梯度的计算涉及双线性插值的反向传播,需要计算输入值对偏移量的偏导数,该偏导数反映了偏移量变化对采样点位置的影响。
每个算子分为,必须先调用"aclnnDeformableConv2dBackwardGetWorkspaceSize"接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用"aclnnDeformableConv2dBackward"接口执行计算。
[object Object]
[object Object]
- 确定性计算:
- aclnnDeformableConv2dBackward默认确定性实现。
[object Object]