栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Seaborn可视化学习笔记(一):可视化神经网络权重分布情况

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Seaborn可视化学习笔记(一):可视化神经网络权重分布情况

文章目录
    • 函数信息
    • 测试
    • 实际应用

函数信息
#displot参数如下
sns.distplot(a, bins=None, hist=True, kde=True, rug=False, fit=None, hist_kws=None, kde_kws=None, rug_kws=None, fit_kws=None, color=None, vertical=False, norm_hist=False, axlabel=None, label=None, ax=None)
  • hist: 控制是否显示条形图,默认为True
  • kde: 控制是否显示核密度估计图,默认为True
  • rug: 控制是否显示观测的小细条(边际毛毯)默认为false
  • fit: 设定函数图像,与原图进行比较
  • axlabel: 设置x轴的label
  • label : 没有发现什么作yong.
  • ax: 图片位置
测试
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt

x = np.random.normal(size=100)
sns.distplot(x, color='y')
plt.show()


纵坐标代表数值分布概率,横坐标代表数值的具体情况

实际应用

这里假设输入为四维的tensor,然后通过卷积之后就可以获得卷积后的权重,然后在通过激活函数LeakyReLU,就可以观察激活前后的权重分布情况。

import torch
import torch.nn as nn
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt

a = torch.randn(1,3,224,224)
conv1 = nn.Sequential(
            nn.Conv2d(3, 16, 3, 2, 1, bias=False),
            nn.BatchNorm2d(16)
        )
b = conv1(a)
LK = nn.LeakyReLU(negative_slope=0.1, inplace=False)
c = LK(b)
b_1=b.detach().numpy().flatten() # (200704,)
c_1=c.detach().numpy().flatten()

#直方图
fig = plt.figure()
sns.set_style("darkgrid")

sns.distplot(b_1, color='y')
plt.show()

fig1 = plt.figure()
sns.distplot(c_1, color='r')
plt.show()



python数据可视化之Seaborn(三):分布可视化
Seaborn.distplot的Y轴意味着什么?

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/275280.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号