ResizeBilinearV2Grad
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |
功能说明
-
算子功能:ResizeBilinearV2的反向传播。
-
计算公式:
假设gradsgrads中已知四个点Q11(x1,y1),Q12(x1,y2),Q21(x2,y1),Q22(x2,y2)Q_{11}(x_1, y_1), Q_{12}(x_1, y_2), Q_{21}(x_2, y_1), Q_{22}(x_2, y_2)。
假设gradsgrads在输出图中的位置是 (h′,w′)(h', w'),它映射回原图的浮点坐标为 (pos_h,pos_w)(pos\_h, pos\_w)。则偏移量定义为:
dh=pos_h−x1d_h = pos\_h - x_1
dw=pos_w−y1d_w = pos\_w - y_1
对应的梯度累加公式如下:
左上点Q11Q_{11}:
y(N,C,x1,y1)+=grads(N,C,h′,w′)⋅(1−dh)⋅(1−dw)y(N, C, x_1, y_1) += grads(N, C, h', w') \cdot (1 - d_h) \cdot (1 - d_w)
右上点Q12Q_{12}:
y(N,C,x1,y2)+=grads(N,C,h′,w′)⋅(1−dh)⋅dwy(N, C, x_1, y_2) += grads(N, C, h', w') \cdot (1 - d_h) \cdot d_w
左下点Q21Q_{21}:
y(N,C,x2,y1)+=grads(N,C,h′,w′)⋅dh⋅(1−dw)y(N, C, x_2, y_1) += grads(N, C, h', w') \cdot d_h \cdot (1 - d_w)
右下点Q22Q_{22}:
y(N,C,x2,y2)+=grads(N,C,h′,w′)⋅dh⋅dwy(N, C, x_2, y_2) += grads(N, C, h', w') \cdot d_h \cdot d_w
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| grads | 输入 | 正向resize的输出的梯度Tensor,对应公式中grads。 | FLOAT16、FLOAT32、BFLOAT16 | ND |
| original_image | 输入 | 正向resize的输入Tensor。 | FLOAT16、FLOAT32、BFLOAT16 | ND |
| y | 输出 | 正向resize的输入的梯度Tensor,对应公式中y。 | FLOAT16、FLOAT32、BFLOAT16 | ND |
约束说明
无
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| aclnn接口 | test_aclnn_upsample_bilinear_2d_backward | 通过aclnnUpsampleBilinear2dBackward接口方式调用ResizeBilinearV2Grad算子。 |
| 图模式 | - | 通过算子IR构图方式调用ResizeBilinearV2Grad算子。 |