函数信息
#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()