pytorch用同一个随机种子,使每次训练结果相同,随机种子设置为3407会出现好的效果
2023-09-14 09:14:43 时间
设置随机种子:
在使用PyTorch时,如果希望通过设置随机数种子,在gpu或cpu上固定每一次的训练结果,则需要在程序执行的开始处添加以下代码:
import torch
import numpy as np
import random
import os
def setup_seed(seed=3407):
random.seed(seed) # Python的随机性
os.environ['PYTHONHASHSEED'] = str(seed) # 设置Python哈希种子,为了禁止hash随机化,使得实验可复现
np.random.seed(seed) # numpy的随机性
torch.manual_seed(seed) # torch的CPU随机性,为CPU设置随机种子
torch.cuda.manual_seed(seed) # torch的GPU随机性,为当前GPU设置随机种子
torch.cuda.manual_seed_all(seed) # if you are using multi-GPU. torch的GPU随机性,为所有GPU设置随机种子
torch.backends.cudnn.benchmark = False # if benchmark=True, deterministic will be False
torch.backends.cudnn.deterministic = True # 选择确定性算法
# 设置随机数种子
setup_seed(seed = 3407)
# 预处理数据以及训练模型
# ...
# ...
torch.backends.cudnn.benchmark
设置为True时,会让CUDNN根据当前硬件情况自动寻找最合适的卷积实现方式,从而减少卷积计算时间;而设置为False时,则会禁用这个自动调优功能,从而更保证卷积计算的结果的可复现性。【torch.backends.cudnn.benchmark
设置为True时可能会对模型训练速度带来一定的提升,但并不能保证训练精度提升】
torch.backends.cudnn.deterministic
设置为True时,会让CUDNN使用确定性算法来计算卷积操作,从而保证相同输入下卷积计算结果的一致性;而设置为False则允许CUDNN使用非确定性算法计算卷积操作,从而可能得到更高的计算速度。
为什么要将随机种子设置为3407?看以下链接
相关文章
- pytorch训练kaggle猫狗大战分类器
- Pytorch深度学习实战教程:UNet模型训练
- 华为 | ReLoop:自纠正地训练推荐系统
- Pytorch模型训练实用教程学习笔记:三、损失函数汇总
- 对抗训练[通俗易懂]
- 【公基】百化分 - 常考 20 种百化分,java 乱序出题训练,常见常考百分数和分数对应关系
- 算法训练 格子操作(线段树)-----------C语言—菜鸟级
- 使用pytorch mask-rcnn进行目标检测/分割训练
- pytorch lstm训练例子_半对数模型参数的解释
- pytorch训练过程可视化_行人重识别国内外研究现状
- PyTorch 2.0 实操,模型训练提速!
- 从BERT到ChatGPT,北航等9大顶尖研究机构全面综述:那些年一起追过的「预训练基础模型」
- 将训练好的Tensorflow模型部署到Web站点
- 终结1.x时代,PyTorch 2.0来了!100%向后兼容,一行代码将训练提速76%
- pyTorch入门(二)——常用网络层函数及卷积神经网络训练
- [KDD 2022 | 论文简读] KPGT: 用于分子性质预测的知识指导的预训练图形变换模型
- Pytorch中如何使用DataLoader对数据集进行批训练
- 在 Google Colab 上试验 NVIDIA TAO 工具包和预训练模型
- 第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-436 算法训练 正六边形
- 开源模型、单卡训练,带你了解爆火的文本指导音频生成技术AudioLDM
- 全面碾压AdamW!谷歌新出优化器内存小、效率高,网友:训练GPT 2果然快
- 如何快速成为图像识别大神?英伟达专家带你低门槛、高效实现AI模型训练与部署 | 英伟达CV公开课
- 【数据挖掘】分类任务简介 ( 分类概念 | 分类和预测 | 分类过程 | 训练集 | 测试集 | 数据预处理 | 有监督学习 )
- 快手八卦!突破TensorFlow、PyTorch并行瓶颈的开源分布式训练框架来了!
- 速度堪比Adam,准确率媲美SGD,还能稳定训练GAN:全新优化器成为NeurIPS爆款
- 白话科普:如何训练ChatGPT,能用它来挣钱吗?【P.S. 今晚19:30,说透ChatGPT】
- 让他们听见世界:用多模态预训练模型,铺设数字化“盲道”