当前位置: 首页 > news >正文

郑州做网站公司排.net作业做网站

郑州做网站公司排,.net作业做网站,网站设计与制作教程,山东网站建设培训文章目录 序言1. 可复现设置代码2. 可复现设置代码解析2.1 消除python与numpy的随机性2.2 消除torch的随机性2.3 消除DataLoader的随机性2.4 消除cuda的随机性2.5 避免pytorch使用不确定性算法2.6 使用pytorch-lightning2.7 特殊情况 序言 为了让模型在同一设备每次训练的结果… 文章目录 序言1. 可复现设置代码2. 可复现设置代码解析2.1 消除python与numpy的随机性2.2 消除torch的随机性2.3 消除DataLoader的随机性2.4 消除cuda的随机性2.5 避免pytorch使用不确定性算法2.6 使用pytorch-lightning2.7 特殊情况 序言 为了让模型在同一设备每次训练的结果可复现需进行可复现设置 1. 可复现设置代码 def set_seed(seed):random.seed(seed)np.random.seed(seed)os.environ[PYTHONHASHSEED] str(seed)torch.manual_seed(seed)torch.cuda.manual_seed(seed)torch.cuda.manual_seed_all(seed)torch.backends.cudnn.deterministic Truetorch.backends.cudnn.benchmark Falsetorch.backends.cudnn.enabled Falseos.environ[CUBLAS_WORKSPACE_CONFIG] :16:8torch.use_deterministic_algorithms(True)set_seed(21)2. 可复现设置代码解析 2.1 消除python与numpy的随机性 import random import numpy as np# 消除numpy和random的随机性 random.seed(SEED) np.random.seed(SEED)# 固定python环境变量中的PYTHONHASHSEED禁止hash随机化 os.environ[PYTHONHASHSEED] str(seed)2.2 消除torch的随机性 import torch import torch torch.manual_seed(SEED) torch.cuda.manual_seed(SEED) # 适用于显卡训练 torch.cuda.manual_seed_all(SEED) # 适用于多显卡训练2.3 消除DataLoader的随机性 使用torch时一般都会使用DataLoader加载数据集这个类使用了多线程的处理方式因此会造成一定随机性 def seed_worker(worker_id):random.seed(SEED worker_id)g torch.Generator() g.manual_seed(SEED)DataLoader(train_dataset,batch_sizebatch_size,num_workersnum_workers,worker_init_fnseed_workergeneratorg, )设置shuffleTrue并设置随机种子 # 可复现设置代码可按上述来设置 def setup_seed(seed):torch.manual_seed(seed)torch.cuda.manual_seed_all(seed)np.random.seed(seed)random.seed(seed)torch.backends.cudnn.deterministic True# 设置随机数种子 setup_seed(21)# shufleTrue,不同训练之间一样的乱序 train_loader2 DataLoader(datasetdealDataset, batch_size32, shuffleTrue)2.4 消除cuda的随机性 适用于GPU训练 # 确保每次返回的卷积算法等是固定的 torch.backends.cudnn.deterministic True# 禁止cudnn使用非确定性算法 torch.backends.cudnn.enabled False# 配合enabled命令使用 # True自动寻找最适合当前配置的高效算法来优化运行效率 # False保证实验结果可复现 torch.backends.cudnn.benchmark False不设置torch.backends.cudnn.enabled False的话无法保证训练结果可复现性。但添加这行后会导致训练速度很慢 如果cuda是10.2及以上版本少数cuda操作是不确定的需要做如下设置 os.environ[CUBLAS_WORKSPACE_CONFIG] :16:8或os.environ[CUBLAS_WORKSPACE_CONFIG] :4096:82.5 避免pytorch使用不确定性算法 配置pytorch在可用的情况下使用确定性算法而不是非确定性算法。如果已知某个操作是不确定的并且没有确定的替代办法则抛出RuntimeError错误 torch.use_deterministic_algorithms(True)2.6 使用pytorch-lightning 详见 pytorch-lightning设置 该方法保证了可复现的同时没有牺牲任何训练速度 2.7 特殊情况 在某些版本的CUDA中RNN和LSTM网络可能具有不确定性行为如LSTM中的dropout需要注意这一特性。需要关注如何消除不确定性 【参考文章】 [1]. pytorch模型可复现性设置 [2]. DataLoader类设置打乱的随机数种子 [3]. pytorch消除模型训练的随机性 [4]. pytorch模型训练可复现方案 created by shuaixio, 2024.02.24
http://www.zqtcl.cn/news/664725/

相关文章:

  • 顺义重庆网站建设纪检监察网站建设
  • 网站制作源码企业品牌推广方式有哪些
  • 简述制作网站的流程网站开发后端用什么
  • 长沙好的网站建设公司厦门建网站多少钱
  • wordpress id清0中山网站的优化
  • 泰州网站制作维护服务器调用wordpress
  • 网站建设飠金手指下拉c 网站开发 环境配置
  • 派点网站建设物流公司做网站哪家好
  • 最便宜的外贸自建站平台wordpress 主题 mip
  • wordpress动漫视频网站黄冈网站推广策略
  • 做推广的网站带宽需要多少钱asp网站防攻击
  • 网站企业wordpress需要php几
  • 广州微信网站制作icp备案号查询官网
  • 网站建设 搜狐网络游戏排行榜2020
  • 比较好的做简历的网站更换网站模板
  • 网站如何兼容大多浏览器怎么做运营网站
  • 企业网站首页flash口红机网站怎么做的
  • 建网站算法制作网页软件手机版
  • vr技术在网站建设的应用营销内容包括哪些方面
  • 网站规划与开发技术专业优化措施二十条
  • 通州区网站快速排名方案视频网站视频预览怎么做
  • 同创企业网站源码建筑行业公司排名
  • 温州网站建设服务建设商务网站公司
  • 导视设计网站推荐创业平台的选择
  • 营销网站建设设计义乌 网站制作
  • 南通企业网站建设公司庆阳网站建设与制作
  • 做k12网站wordpress调用第一张图片不显示
  • 网站建设和维护要点网站建设完提交百度
  • app开发人员网站上海保洁服务网站建设
  • 周口网站制作公司哪家好苏州高新区住建局官网