动手学深度学习——7. CNN可视化

动手学深度学习——7. CNN可视化

记录一下学习深度学习的一些。本篇记录一下使用 Grad-CAM 可视化 CNN。

环境:

  • Windows 10
  • 8700K
  • 2070
  • Pytorch 1.7.1

深度学习在很多任务上,特别是计算机视觉上取得了不错的成功,但其不具备良好的可解释性,被当作"黑盒", Grad-CAM (Gradient-weighted Class Activation Mapping) 以及 Grad-CAM++ 是神经卷积网络的可视化方法 (热力图),图片上越热的地方对网络输出贡献最大的地方。本篇使用的是 Github 上的 pytorch-grad-cam

安装:

pip install grad-cam
pip install ttach

可视化

可用方法:

methods = {
    "gradcam": GradCAM,
    "scorecam": ScoreCAM,
    "gradcam++": GradCAMPlusPlus,
    "ablationcam": AblationCAM,
    "xgradcam": XGradCAM,
    "eigencam": EigenCAM,
    "eigengradcam": EigenGradCAM,
}
python cnn_visualizations.py --arch resnet50 --ckpt path_to_model --num-classes 2 --target-layer layer4 --method name_of_method --output dir_to_output path_to_image 

效果:

methodsrccamgbcam_gb
gradcam在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
scorecam在这里插入图片描述在这里插入图片描述在这里插入图片描述
gradcam++在这里插入图片描述在这里插入图片描述在这里插入图片描述
ablationcam在这里插入图片描述在这里插入图片描述在这里插入图片描述
xgradcam在这里插入图片描述在这里插入图片描述在这里插入图片描述
eigencam在这里插入图片描述在这里插入图片描述在这里插入图片描述
eigengradcam在这里插入图片描述在这里插入图片描述在这里插入图片描述

可以看到图片之所以被网络认为狗子,是因为它的嘴巴及狗链,鼻子呢?

Code

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值