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 @   sqsq  阅读(3130)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示