nn.init.xavier_uniform_()用法详解

基本思想是通过网络层时,输入和输出的方差相同,包括前向传播和后向传播。

为啥需要进行xavier初始化:

sigmoid激活函数:

参考博客:

https://blog.csdn.net/dss_dssssd/article/details/83959474

原理:

使用均匀分布 用值填充输入张量
结果张量将具有从 U ( − a , a )采样的值,其中

也称为Glorot初始化

 

举例:

import torch
import torch.nn as nn
x = torch.Tensor([[1,2,3],[2,3,4]])
print(x)
nn.init.xavier_uniform_(x)
print(x)

结果:

tensor([[1., 2., 3.],
        [2., 3., 4.]])
tensor([[-0.6535,  1.0600,  0.4142],
        [ 0.3315,  0.3944,  0.9536]])

 

posted @ 2023-03-04 09:42  sqsq  阅读(2702)  评论(0编辑  收藏  举报