(一)实验记录:卷积神经网络可视化cam和grad-cam

一、CAM

以resnet18为例:

(1)取出通过layer4的feature激活值,[1,512,7,7]

(2)取出fc的权重(weight_softmax),[1000,512]

(3)取出weight_softmax中预测为对应类别的权重,[1,512]

(4)权重和feature相乘得热力图cam,[1,512]*[512,49]=[1,49]

(5)再通过归一化,resize操作覆盖到原图上。

二、grad-CAM

扫描二维码关注公众号,回复: 11011128 查看本文章

cam和grad-cam都是为了得到一组权重和feature相乘。cam需要修改模型(添加全局平均池化层)重新训练,而grad-cam是通过反向传播时hook的梯度来计算权重。

以vgg19为例子:vgg19模型分为两大块,features,classifier。

(1)从feature模块取出feature激活值,即第35层后的,[1,512,14,14]

打印模型名:https://blog.csdn.net/m0_37192554/article/details/104003947

(2)通过整个模型输出中最大的那个值进行backward

(3)抓取第35层feature激活值的梯度,[1,512,14,14]

(4)通过抓取的梯度计算权重,和feature相乘,计算cam热力图。

(5)归一化后resize

发布了1 篇原创文章 · 获赞 1 · 访问量 346

猜你喜欢

转载自blog.csdn.net/weixin_41465685/article/details/105655336