目录

  • 设置随即种子
  • 网络初始化

设置随即种子

使用pytorch_lightning下的seed_everything方法。
若调用GPU,有时还不够,还需排除cudnn加速的随机性。

from pytorch_lightning import seed_everythingseed_everything(0)
torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False

网络初始化

可以用如下代码进行网络参数初始化

class My_CNN(nn.Module):def __init__(self):super(My_CNN, self).__init__()self.tmp1 = nn.Linear(4 * 4 * 64, 512)self.tmp2 = nn.Conv2d(32, 32, 3)self.tmp3 = nn.BatchNorm2d(64)...for m in self.children():if isinstance(m, nn.Linear):print("init linear.")nn.init.normal_(m.weight, 0, 0.02)nn.init.constant_(m.bias, 0)elif isinstance(m, nn.Conv2d):print("init conv.")nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu')nn.init.constant_(m.bias, 0)elif isinstance(m, nn.BatchNorm2d):print("init batchnorm2d.")nn.init.normal_(m.weight, 1, 0.02)nn.init.constant_(m.bias, 0)...

但套在nn.Sequential()内的网络参数不会被初始化,如下所示:

self.conv1 = nn.Sequential(nn.Conv2d(1, 32, 3),nn.BatchNorm2d(32),nn.ReLU())

这种需要手动对Sequential()内的网络进行初始化。

参考资料:

  1. https://blog.csdn.net/qq_41917697/article/details/115042465
  2. https://zhuanlan.zhihu.com/p/97651850

【PyTorch】随机种子 与 网络初始化相关推荐

  1. Pytorch 随机种子的设置

    之前设置过随机种子,但是网络依旧具有随机性.今天刚好看到了mmdetection的实现,才发现之前的code不是所有的随机种子都被固定下来.就算全部固定了但是尽管如此,最后的loss也不能说完全一致. ...

  2. pytorch随机种子无法复现

    随机种子设置: random.seed(1) np.random.seed(1) torch.manual_seed(1) cudnn.deterministic = True torch.cuda. ...

  3. python随机密码生成以整数17为随机数种子_简述pythonpytorch 随机种子的实现

    随机数广泛应用在科学研究, 但是计算机无法产生真正的随机数, 一般成为伪随机数. 它的产生过程: 给定一个随机种子(一个正整数), 根据随机算法和种子产生随机序列. 给定相同的随机种子, 计算机产生的 ...

  4. python随机种子的作用_简述pythonpytorch 随机种子的实现

    随机数广泛应用在科学研究, 但是计算机无法产生真正的随机数, 一般成为伪随机数. 它的产生过程: 给定一个随机种子(一个正整数), 根据随机算法和种子产生随机序列. 给定相同的随机种子, 计算机产生的 ...

  5. python怎么设置随机数种子_python实验随机种子的设置

    问题: 深度学习中,训练模型时实验参数设置但结果不同(部分论文最优结果无法复现) 实验参数包括: 数据集,train/test划分,权重初始化等 可能的原因:Dropout的存在 python.num ...

  6. python中随机种子_Pytorch随机种子

    最近在做比赛的时候,遇到了一个最好结果,但是之后无论怎样都复现不出来最好结果了.猜测是不是跟Pytorch中的随机种子有关. 训练过程 在训练过程中,若相同的数据数据集,相同的训练集.测试集划分方式, ...

  7. Pytorch为什么总要设置随机种子

    Pytorch为什么总要设置随机种子 在pytorch中总能看到以 第一行有个设置随机种子的函数?它到底有啥作用? def set_seed(seed=1):random.seed(seed)np.r ...

  8. Pytorch分布式训练/多卡训练(二) —— Data Parallel并行(DDP)(2.2)(代码示例)(BN同步主卡保存梯度累加多卡测试inference随机种子seed)

    DDP的使用非常简单,因为它不需要修改你网络的配置.其精髓只有一句话 model = DistributedDataPrallel(model, device_ids=[local_rank], ou ...

  9. python随机数种子怎么用_Python 随机种子介绍,PyTorch 中随机种子的设置应用

    随机种子是什么? 随机种子是针对 随机方法 而言的. 随机方法:常见的随机方法有 生成随机数,以及其他的像 随机排序 之类的,后者本质上也是基于生成随机数来实现的.在深度学习中,比较常用的随机方法的应 ...

最新文章

  1. JackJson 使用记录
  2. 链接(跳转)router-link 和 路由实例Router
  3. 转:C++反汇编揭秘2 – VC编译器的运行时错误检查(RTC)
  4. c语言10-100000取整数,100个C语言地编程题.docx
  5. kafka使用_Kafka 消费者的使用和原理
  6. [bzoj1791][ioi2008]Island 岛屿(基环树、树的直径)
  7. “一路有你”——迷你TXT小说阅读器 V2.8 正式版 发布!
  8. java int64 类型_详解 Java 的八大基本类型,写得非常好!
  9. python爬取起点vip小说章节_python 爬取qidian某一页全部小说
  10. Neutron服务组件和Vxlan、Vtep隧道详解工作中的应用(一)
  11. 【Visual C++】游戏开发笔记四十七 浅墨DirectX教程十五 翱翔于三维世界 摄像机的实现
  12. HCU混和动力控制器,HEV混动串并联 混动车辆
  13. 文件被占用删除不了?快来我给你一招解决!
  14. 母版页和内容页的使用
  15. Paintinglite迎来v2.1.2优化版本迭代,引入Pod安装
  16. atoi(s)函数用法 1
  17. 什么是 Hive ?
  18. mysql 中创建自增的序列(Sequence)
  19. iphone4 的使用技巧(经典呀)
  20. deeplabv3+——训练自己的数据集 torch1.12.0 cuda11.3

热门文章

  1. c语言触屏滑动图片,jQuery手机触屏滑动的响应式图片轮播效果
  2. 企业做CMMI认证有什么用?
  3. Mysql 性能优化教程
  4. python打开csv忽略错误_在python中读取错误的格式csv
  5. 王东岳《东西方文化溯源与东西方哲学》
  6. 韩国李世龙19岁当爹 与洪瑛琦姐弟恋开花结果
  7. js中转换Date日期格式
  8. Python——定义全局变量
  9. CMD 窗口的 基本命令
  10. python富翁与穷人_穷人和富人最根本的区别