神经网络特征层可视化pytorch

python可视化三维矩阵点

  • 程序
  • 结果
  • 总结

Github链接:https://github.com/JonnesLin/Evison


程序

使用Evision工具可视化pytorch模型的网络特征图

from Evison import Display, show_network
from torchvision import models
from PIL import Image

# 构建一个模型
network = models.mobilenet_v2(pretrained=True)
# 展示可以可视化的 特征层的 特征图
show_network(network)
#选择展示 features.18 层的特征图
visual_layer = 'features.18'
#norm参数为标准化参数 RGB的均值和方差;  img_size是可视化图片的尺寸
display = Display(network,visual_layer,norm=((0.485, 0.456, 0.406),
                                             (0.229, 0.224, 0.225)),img_size=(448,448))
#PIL读取图片并resize到(448,488)
image = Image.open(r'C:\Users\DELL\Desktop\2.jpg').resize((448,448))
display.save(image)
#将原始图片保存到display.save()的同一文件夹下
image.save('./visualization/origin.jpg')

顺便记录一下pytorch中hook的使用方式
神经网络特征层可视化pytorch_第1张图片

结果

以下依次是原始图片,灰色特征图,热力图,热力图与原始图片叠加图
神经网络特征层可视化pytorch_第2张图片
神经网络特征层可视化pytorch_第3张图片
神经网络特征层可视化pytorch_第4张图片

神经网络特征层可视化pytorch_第5张图片

总结

对模型效果并没有任何帮助,但是可以比较有效的展示神经网络关注点

你可能感兴趣的:(python乐园,pytorch,神经网络,深度学习)