参考http://sandaw89.blogspot.com/2017/08/gradcam-implementation-in-pycaffe.html的实现,对自己的model实现可视化。代码调通了之后发现,输出的heatmap是这样的
相当于全都是一个值,肯定哪里有错了。输出梯度的值看了一下,全都是0,说明梯度根本没有回传,说明问题出现在了反向传播上。
查了一下,https://github.com/BVLC/caffe/issues/583
是因为caffe 默认没有损失就不算梯度。
所以要在deploy中添加force_backward: true
现在打印梯度的值,就不是全为零了。
输出的heatmap如下