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轴意味着什么?

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZZY_dl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值