【torch.nn.init】初始化参数方法解读
文章目录
- torch.nn.init
- 均匀分布
- 正态分布
- 常数分布
- 全1分布
- 全0分布
- 对角分布
- dirac 分布
- xavier_uniform 分布
- xavier_normal 分布
- kaiming_uniform 分布
- kaiming_normal 分布
- 正交矩阵
- 稀疏矩阵
- 参考
torch.nn.init
均匀分布
格式
torch.nn.init.uniform_(tensor, a=0.0, b=1.0)
作用
从均匀分布 U ( a , b ) U(a,b) U(a,b)中生成值,填充输入的张量或变量。
参数
tensor
n 维的torch.Tensora
均匀分布的下界b
均匀分布的上界
例子
w = torch.empty(3, 5)
nn.init.uniform_(w)
正态分布
格式
**torch.nn.init.normal_(tensor, mean=0.0, std=1.0)**
作用
从给定均值和标准差的正态分布 N ( m e a n , s t d ) N(mean,std) N(mean,std)中生成值,填充输入的张量或变量。
参数
tensor
n维的torch.Tensormean
正态分布的均值std
正态分布的标准差
w = torch.empty(3, 5)
nn.init.normal_(w)
常数分布
格式
torch.nn.init.constant_(tensor, val)
作用
用
val
的值填充输入的张量或变量参数
tensor
n维的torch.Tensor 或 autograd.Variableval
用来填充张量的值
w = torch.empty(3, 5)
nn.init.constant_(w, 0.3)
全1分布
格式
torch.nn.init.ones_(tensor)
作用
用全0填充张量
参数
tensor
n维的torch.Tensor
例子
w = torch.empty(3, 5)
nn.init.ones_(w)
全0分布
格式
torch.nn.init.zeros_(tensor)
作用
用全1填充张量
参数
tensor
n维的torch.Tensor
例子
w = torch.empty(3, 5)
nn.init.zeros_(w)
对角分布
格式
torch.nn.init.eye_(tensor)
作用
用单位矩阵来填充2维输入张量或变量
参数
tensor
2维的torch.Tensor 或 autograd.Variable
w = torch.empty(3, 5)
nn.init.eye_(w)
dirac 分布
格式
torch.nn.init.dirac_(tensor, groups=1)
作用
用Dirac δ函数来填充{3, 4, 5}维输入张量或变量。在卷积层尽可能多的保存输入通道特性
参数
tensor
{3, 4, 5}维的torch.Tensor 或 autograd.Variable
例子
w = torch.empty(3, 16, 5, 5) nn.init.dirac_(w) w = torch.empty(3, 24, 5, 5) nn.init.dirac_(w, 3)
xavier_uniform 分布
格式
torch.nn.init.xavier_uniform_(tensor, gain=1.0)
作用
用一个均匀分布生成值,填充输入的张量或变量。
参数
tensor
n维的torch.Tensorgain
可选的缩放因子
w = torch.empty(3, 5)
nn.init.xavier_uniform_(w, gain=nn.init.calculate_gain('relu'))
xavier_normal 分布
格式
torch.nn.init.xavier_normal_(tensor, gain=1.0)
作用
用一个正态分布生成值,填充输入的张量或变量。
参数
tensor
n维的torch.Tensorgain
可选的缩放因子
w = torch.empty(3, 5)
nn.init.xavier_normal_(w)
kaiming_uniform 分布
格式
torch.nn.init.kaiming_uniform_(tensor, a=0, mode='fan_in', nonlinearity='leaky_relu')
作用
用一个均匀分布生成值,填充输入的张量或变量。
参数
tensor
n维的torch.Tensor或autograd.Variablea
这层之后使用的rectifier的斜率系数(ReLU的默认值为0)mode
可以为“fan_in
”(默认)或 “fan_out
”
“fan_in
”保留前向传播时权值方差的量级
“fan_out
”保留反向传播时的量级nonlinearity=‘leaky_relu’
非线性函数 建议“relu”或“leaky_relu”(默认值)使用。
w = torch.empty(3, 5)
nn.init.xavier_normal_(w)
w = torch.empty(3, 5)
nn.init.kaiming_uniform_(w, mode='fan_in', nonlinearity='relu')
kaiming_normal 分布
格式
torch.nn.init.kaiming_normal_(tensor, a=0, mode='fan_in', nonlinearity='leaky_relu')
作用
用一个正态分布生成值,填充输入的张量或变量。
参数
tensor
n维的torch.Tensor或 autograd.Variablea
这层之后使用的rectifier的斜率系数(ReLU的默认值为0)mode
可以为“fan_in
”(默认)或 “fan_out
”fan_in
保留前向传播时权值方差的量级fan_out
保留反向传播时的量级
w = torch.empty(3, 5)
nn.init.kaiming_normal_(w, mode='fan_out', nonlinearity='relu')
正交矩阵
格式
torch.nn.init.orthogonal_(tensor, gain=1)
作用
用一个(半)正交矩阵填充输入张量。
参数
tensor
一个n维的tensor,其中 n≥2gain
可选比例系数
w = torch.empty(3, 5)
nn.init.orthogonal_(w)
稀疏矩阵
格式
torch.nn.init.sparse_(tensor, sparsity, std=0.01)
作用
将2D输入张量填充为稀疏矩阵,其中非零元素将从正态分布 N ( 0 , 0.01 ) N(0,0.01) N(0,0.01)中提取。
参数
**tensor
** 一个n维的torch.tensor张量sparsity
每一列中元素的比例设置为零std
用于产生非零值的正态分布的标准差
w = torch.empty(3, 5)
nn.init.sparse_(w, sparsity=0.1)
参考
torch.nn.init - PyTorch 1.13 documentation
【细聊】torch.nn.init 初始化_ViatorSun的博客-CSDN博客_nn.init.constant
【torch.nn.init】初始化参数方法解读相关推荐
- 【细聊】torch.nn.init 初始化
文章目录 1.init.uniform 2.nn.init.normal 3.nn.init.constant 4.nn.init.eye 5.nn.init.dirac 6.nn.init.xavi ...
- 正态分布初始化 torch.nn.Embedding.weight()与torch.nn.init.normal()的验证对比
torch.nn.Embedding.weight(num_embeddings, embedding_dim) 随机初始化,生成标准正态分布N(0,1)N(0,1)N(0,1)的张量Tensor t ...
- PyTorch 1.0 中文文档:torch.nn.init
译者:GeneZC torch.nn.init.calculate_gain(nonlinearity, param=None) 返回给定非线性函数的推荐的增益值.对应关系如下表: 非线性函数 增益 ...
- AttributeError: module 'torch.nn.init' has no attribute 'zeros_'
问题 File "E:\wj-lab\expStad\model.py", line 50, in __init__feat_block.apply(weights_init_ka ...
- torch.nn.MaxPool1d各参数分析
torch.nn.MaxPool1d各参数小白文分析 一.官方定义和参数解释 1.1 初步解释各个参数 二.用代码测试各个参数的影响 2.1 kernel_size.stride和ceil_mode画 ...
- pytorch tensor 初始化_Pytorch - nn.init 参数初始化方法
Pytorch 的参数初始化 - 给定非线性函数的推荐增益值(gain value):nonlinearity 非线性函数gain 增益 Linear / Identity1 Conv{1,2,3}D ...
- torch.nn.Module()
torch.nn.Module() 如果自己想研究,官方文档 它是所有的神经网络的根父类! 你的神经网络必然要继承! 模块也可以包含其他模块,允许将它们嵌套在树结构中.所以呢,你可以将子模块指定为常规 ...
- pytorch系列 -- 9 pytorch nn.init 中实现的初始化函数 uniform, normal, const, Xavier, He initialization...
本文内容: 1. Xavier 初始化 2. nn.init 中各种初始化函数 3. He 初始化 torch.init https://pytorch.org/docs/stable/nn.html ...
- 【pytorch 】nn.init 中实现的初始化函数 normal, Xavier==》为了保证数据的分布(均值方差一致)是一样的,类似BN
为什么要输入和输出的方差相同?有利于信息的传递 为了使得网络中信息更好的流动,每一层输出的方差应该尽量相等.在考虑线性激活函数的情况下, 在初始化的时候使各层神经元的方差保持不变, 即使各层有着相同的 ...
最新文章
- 基于OpenCV平滑图像
- VsCode常用设置,新手必备!
- tc.html是什么页面,HTML iframe属性详细说明
- python简单爬虫代码-一则python3的简单爬虫代码
- c++ DLL-DEF-LIB
- Android ViewDragHelper的简单分析(一)
- 用php怎样将图片gif转化为jpg
- EXCEL 批量插入指标批注
- Unity脚本:寻找血量最低的敌人
- 视频处理VideoCapture类---OpenCV-Python开发指南(38)
- [模电]差模信号、共模信号的通俗解释
- aws认证,aws有哪些认证,有什么用
- vue 全局、局部引入
- excel数据自动录入网页_Excel自动抓取网页数据,数据抓取一键搞定
- 游戏鼠标的dpi测试软件,自己就可以测试鼠标的DPI
- 牛客网之SQL刷题练习——一个实用的网站
- PyQT5 - 打包为.EXE文件
- GDOI2016 退役记
- MATLAB图像处理---计算角点算法SUSAN算子
- 游戏建模三大软件:3Dmax、Maya、zbrush 应该如何学才好?