比如有个张量a,那么a.normal_()就表示用标准正态分布填充a,是in_place操作,如下图所示:

pytorch normal_(), fill_()

比如有个张量b,那么b.fill_(0)就表示用0填充b,是in_place操作,如下图所示:

pytorch normal_(), fill_()

 

这两个函数常常用在神经网络模型参数的初始化中,例如

import torch.nn as nn
net = nn.Linear(16, 2)
for m in net.modules():
    if isinstance(m, nn.Linear):
        m.weight.data.normal_(mean=0, std=0.01)
        m.bias.data.fill_(0.0)