python – 如何在PyTorch中初始化权重?
发布时间:2020-12-20 10:32:41 所属栏目:Python 来源:网络整理
导读:如何在PyTorch中的网络中初始化权重和偏差(例如,使用He或Xavier初始化)? 解决方法 单层 要初始化单个图层的权重,请使用 torch.nn.init 中的函数.例如: conv1 = torch.nn.Conv2d(...)torch.nn.init.xavier_uniform(conv1.weight) 或者,您可以通过写入conv1.
如何在PyTorch中的网络中初始化权重和偏差(例如,使用He或Xavier初始化)?
解决方法
单层
要初始化单个图层的权重,请使用 conv1 = torch.nn.Conv2d(...) torch.nn.init.xavier_uniform(conv1.weight) 或者,您可以通过写入conv1.weight.data(这是一个 conv1.weight.data.fill_(0.01) 这同样适用于偏见: conv1.bias.data.fill_(0.01) nn.Sequential或custom nn.Module 将初始化函数传递给
例: 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) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |