PyTorch中的自定义权重初始化

Custom weight initialization in PyTorch(PyTorch中的自定义权重初始化)

本文介绍了PyTorch中的自定义权重初始化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

PyTorch中实现custom weight initialization方法的正确方式是什么?

我相信我不能直接将任何方法添加到"torch.nn.init`,但希望使用我自己的专有方法初始化模型的权重。

推荐答案

您可以根据每一层定义初始化权重的方法:

def weights_init(m):
    classname = m.__class__.__name__

    if classname.find('Conv2d') != -1:
        m.weight.data.normal_(0.0, 0.02)
    elif classname.find('BatchNorm') != -1:
        m.weight.data.normal_(1.0, 0.02)
        m.bias.data.fill_(0)

然后将其应用于您的网络:

model = create_your_model()
model.apply(weights_init)

这篇关于PyTorch中的自定义权重初始化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:PyTorch中的自定义权重初始化

基础教程推荐