三行代码可视化神经网络特征图
极市导读
在科研论文,方案讲解,模型分析中,合理解释特征图是对最终结果的一个加分项。但是之前的一些可视化特征图的方法往往会有一些tedious,于是我在这里给大家推荐一个非常方便实现这个目标的库——Evison。 >>加入极市CV技术交流群,走在计算机视觉的最前沿
在科研论文,方案讲解,模型分析中,合理解释特征图是对最终结果的一个加分项。但是之前的一些可视化特征图的方法往往会有一些tedious,于是我在这里给大家推荐一个非常方便实现这个目标的库——Evison。
Github链接:GitHub-JonnesLin/Evison: We provide an easy way for visualizing——https://github.com/JonnesLin/Evison
GitHub仓库中有完整的代码案例和云端可执行代码,同时也欢迎大家提issue和点star
视频讲解链接: 教你三行代码可视化神经网络特征图_哔哩哔哩_bilibili——https://www.bilibili.com/video/BV1wP4y1n7YS%3Fpop_share%3D1
接下来我就直接上代码:
# 首先需要安装Evison
!pip install Evison
from Evison import Display, show_network
from torchvision import models
# 生成我们需要可视化的网络(可以使用自己设计的网络)
network = models.efficientnet_b0(pretrained=True)
# 使用show_network这个辅助函数来看看有什么网络层(layers)
show_network(network)
# 以下是部分输出
'''
features.6.3.block.2
features.6.3.block.2.avgpool
features.6.3.block.2.fc1
features.6.3.block.2.fc2
features.6.3.block.2.activation
features.6.3.block.2.scale_activation
features.6.3.block.3
features.6.3.block.3.0
features.6.3.block.3.1
features.6.3.stochastic_depth
features.7
features.7.0
features.7.0.block
features.7.0.block.0
features.7.0.block.0.0
features.7.0.block.0.1
features.7.0.block.0.2
features.7.0.block.1
features.7.0.block.1.0
features.7.0.block.1.1
features.7.0.block.1.2
features.7.0.block.2
'''
# 构建visualization的对象 以及 制定可视化的网络层
visualized_layer = 'features.7.0'
display = Display(network, visualized_layer, img_size=(224, 224)) # img_size的参数指的是输入图片的大小
# 加载我们想要可视化的图片
from PIL import Image
image = Image.open('Dog_and_cat.jpeg').resize((224, 224))
# 将想要可视化的图片送入display中,然后进行保存
display.save(image)
可视化的结果
如果觉得有用,就请分享到朋友圈吧!
公众号后台回复“transformer”获取最新Transformer综述论文下载~
# CV技术社群邀请函 #
备注:姓名-学校/公司-研究方向-城市(如:小极-北大-目标检测-深圳)
即可申请加入极市目标检测/图像分割/工业检测/人脸/医学影像/3D/SLAM/自动驾驶/超分辨率/姿态估计/ReID/GAN/图像增强/OCR/视频理解等技术交流群
每月大咖直播分享、真实项目需求对接、求职内推、算法竞赛、干货资讯汇总、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企视觉开发者互动交流~