首页 炼丹房 帖子详情
请问如何更“优雅”的得到特征图的梯度?
收藏
快速回复
炼丹房 问答新手上路 480 2
请问如何更“优雅”的得到特征图的梯度?
收藏
快速回复
炼丹房 问答新手上路 480 2

写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
收藏
回复
全部评论(2)
时间顺序
AIStudio810258
#2 回复于2021-03

这就是吧模型的前向计算过程又写了一遍,只为得到最后一个卷积层用来求梯度

0
回复
AIStudio810258
#3 回复于2021-03

有没有类似通过名称得到权重的那种方式,得到模型前向计算中间过程中的特征图

0
回复
在@后输入用户全名并按空格结束,可艾特全站任一用户