nn.init.xavier_uniform_()用法详解

Posted sqsq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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]])

 

以上是关于nn.init.xavier_uniform_()用法详解的主要内容,如果未能解决你的问题,请参考以下文章

PyTorch学习系列——参数_初始化

模型权值初始化的十种方法

英语高手请进

简易先进先出队列-自用

函数参数

多重背包