在PyTorch中,默认情况下如何初始化图层权重和偏差? [英] In PyTorch how are layer weights and biases initialized by default?

查看:83
本文介绍了在PyTorch中,默认情况下如何初始化图层权重和偏差?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道默认情况下如何初始化图层权重和偏差?例如.如果我创建线性层torch.nn.Linear(5,100)默认情况下,该层的权重和偏差如何初始化?

I was wondering how are layer weights and biases initialized by default? E.g. if I create the linear layer torch.nn.Linear(5,100) How are weights and biases for this layer initialized by default?

推荐答案

PyTorch 1.0

大多数图层都是使用 Kaiming制服初始化的方法.示例层包括线性,Conv2d,RNN等.如果使用其他层,则应在此文档.如果说权重是使用 U(...)初始化的,则使用其Kaiming Uniform方法.使用 LeCunn初始化(即统一(-std,std),其中标准偏差std为 1/sqrt(fan_in)(

Most layers are initialized using Kaiming Uniform method. Example layers include Linear, Conv2d, RNN etc. If you are using other layers, you should look up that layer on this doc. If it says weights are initialized using U(...) then its Kaiming Uniform method. Bias is initialized using LeCunn init, i.e., uniform(-std, std) where standard deviation std is 1/sqrt(fan_in) (code).

PyTorch 0.4.1,0.3.1

权重和偏差使用 LeCunn初始化(参见sec 4.6)中的转换层(代码:

Weights and biases are initialized using LeCunn init (see sec 4.6) for conv layers (code: 0.3.1, 0.4.1).

如果您要覆盖默认初始化,请查看此答案.

If you want to override default initialization then see this answer.

这篇关于在PyTorch中,默认情况下如何初始化图层权重和偏差?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆