• pytorch中的权值初始化


    torch.nn.Module.apply(fn)

    # 递归的调用weights_init函数,遍历nn.Module的submodule作为参数
    # 常用来对模型的参数进行初始化
    # fn是对参数进行初始化的函数的句柄,fn以nn.Module或者自己定义的nn.Module的子类作为参数
    # fn (Module -> None) – function to be applied to each submodule
    # Returns:  self
    # Return type:  Module
    
    例子:
    
    def weights_init(m):
        classname = m.__class__.__name__
        if classname.find('Conv') != -1:
            m.weight.data.normal_(0.0, 0.02) 
            # m.weight.data是卷积核参数, m.bias.data是偏置项参数
        elif classname.find('BatchNorm') != -1:
            m.weight.data.normal_(1.0, 0.02)
            m.bias.data.fill_(0)
    
    netG = _netG(ngpu) # 生成模型实例
    netG.apply(weights_init) # 递归的调用weights_init函数,遍历netG的submodule作为参数
    时刻记着自己要成为什么样的人!
  • 相关阅读:
    Maven
    Maven
    Maven
    Maven
    Maven
    Maven
    Maven
    Python
    Maven
    include和require的区别
  • 原文地址:https://www.cnblogs.com/demo-deng/p/15167117.html
Copyright © 2020-2023  润新知