请问如何更“优雅”的得到特征图的梯度?
收藏
写gradcam时需要得到特征图的梯度给各通道加权,只能用下面这种“笨拙”的方法:
# resnet50vd的forward过程
y = model.conv1_1(data)
y = model.conv1_2(y)
y = model.conv1_3(y)
y = model.pool2d_max(y)
for block in model.block_list:
y = block(y)
conv = y # 得到模型最后一个卷积层的特征图
y = model.pool2d_avg(y)
y = paddle.reshape(y, shape=[-1, model.pool2d_avg_channels])
predict = model.out(y) # 得到前向计算的结果
0
收藏
请登录后评论
这就是吧模型的前向计算过程又写了一遍,只为得到最后一个卷积层用来求梯度
有没有类似通过名称得到权重的那种方式,得到模型前向计算中间过程中的特征图