PyTorch初始化网络各层权重

Posted 算法与编程之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyTorch初始化网络各层权重相关的知识,希望对你有一定的参考价值。

问题

方法

初始化网络权重


            for m in self.modules():
                if isinstance(m, nn.Conv2d):
                    nn.init.kaiming_normal_(m.weight, mode="fan_out", nonlinearity="relu")
                    if m.bias is not None:
                        nn.init.constant_(m.bias, 0)
                elif isinstance(m, nn.BatchNorm2d):
                    nn.init.constant_(m.weight, 1)
                    nn.init.constant_(m.bias, 0)
                elif isinstance(m, nn.Linear):
                    nn.init.normal_(m.weight, 0, 0.01)
                    nn.init.constant_(m.bias, 0)

结语

以上是关于PyTorch初始化网络各层权重的主要内容,如果未能解决你的问题,请参考以下文章

在pytorch神经网络中初始化权重

pytorch卷积层中的第一个初始化权重是啥

-pytorch实现深度神经网络与训练

在 pytorch 中修改预训练模型时,旧的权重会重新初始化吗?

Pytorch 简单线性 Sigmoid 网络不学习

标准3层神经网络搭建Demo