栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在PyTorch中初始化权重?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在PyTorch中初始化权重?

单层

要初始化单层的权重,请使用中的函数

torch.nn.init
。例如:

conv1 = torch.nn.Conv2d(...)torch.nn.init.xavier_uniform(conv1.weight)

或者,您可以通过写入

conv1.weight.data
(是
torch.Tensor
)来修改参数。例:

conv1.weight.data.fill_(0.01)

偏见也是如此:

conv1.bias.data.fill_(0.01)

nn.Sequential
或自定义
nn.Module

将初始化函数传递给

torch.nn.Module.apply
。它将以
nn.Module
递归方式初始化整个权重。

申请( FN
):
适用

fn
递归到每个子模块(通过返回的
.children()
),以及自我。典型的用法包括初始化模型的参数(另请参见torch-nn-
init)。

例:

def init_weights(m):    if type(m) == nn.Linear:        torch.nn.init.xavier_uniform(m.weight)        m.bias.data.fill_(0.01)net = nn.Sequential(nn.Linear(2, 2), nn.Linear(2, 2))net.apply(init_weights)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/610472.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号