PyTorch常用参数初始化方法详解

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475

1、均匀分布初始化

torch.nn.init.uniform_(tensor, a=0, b=1)

从均匀分布U(a, b)中采样,初始化张量。  参数:

    • tensor - 需要填充的张量
      • a - 均匀分布的下界
      • b - 均匀分布的上界

例子

w = torch.empty(3, 5)
nn.init.uniform\_(w)
"""
tensor([[0.2116, 0.3085, 0.5448, 0.6113, 0.7697],
 [0.8300, 0.2938, 0.4597, 0.4698, 0.0624],
 [0.5034, 0.1166, 0.3133, 0.3615, 0.3757]])
"""

均匀分布详解

若 xxx 服从均匀分布,即 x U(a,b)x U(a,b)x~U(a,b),其概率密度函数(表征随机变量每个取值有多大的可能性)为,

f(x)={1b−a,a<x<b0,elsef(x)={1b−a,a<x<b0,elsef(x)=\left{\begin{array}{l}\frac{1}{b-a}, \quad a<x<b \ 0, \quad else \end{array}\right.

则有期望和方差,

E(x)=∫∞−∞xf(x)dx=12(a+b)D(x)=E(x2)−[E(x)]2=(b−a)212E(x)=∫∞−∞xf(x)dx=12(a+b)D(x)=E(x2)−[E(x)]2=(b−a)212\begin{array}{c}E(x)=\int_{-\infty}^{\infty} x f(x) d x=\frac{1}{2}(a+b) \D(x)=E\left(x{2}\right)-[E(x)]{2}=\frac{(b-a)^{2}}{12}\end{array}

2、正态(高斯)分布初始化

torch.nn.init.normal_(tensor, mean=0.0, std=1.0)

从给定的均值和标准差的正态分布 N(mean,std2)N(mean,std2)N\left(\right. mean, \left.s t d^{2}\right) 中生成值,初始化张量。

参数:

    • tensor - 需要填充的张量
      • mean - 正态分布的均值
      • std - 正态分布的标准偏差

例子

w = torch.Tensor(3, 5)
torch.nn.init.normal\_(w, mean=0, std=1)
"""
tensor([[-1.3903, 0.4045, 0.3048, 0.7537, -0.5189],
 [-0.7672, 0.1891, -0.2226, 0.2913, 0.1295],
 [ 1.4719, -0.3049, 0.3144, -1.0047, -0.5424]])
"""

正态分布详解:

若随机变量 xxx 服从正态分布,即 x∼N(μ,σ2)x∼N(μ,σ2)x \sim N\left(\mu, \sigma^{2}\right) , 其概率密度函数为,

f(x)=1σ√2πexp(−(x−μ2)2σ2)f(x)=\frac{1}{\sigma \sqrt{2 \pi}} \exp \left(-\frac{\left(x-\mu^{2}\right)}{2 \sigma^{2}}\right)

正态分布概率密度函数中一些特殊的概率值:

  • 1
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值