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

网站内容建设需要哪些策略呢frontpage制作个人网页教程

网站内容建设需要哪些策略呢,frontpage制作个人网页教程,有什么检索标准的网站,公司做网站的费属于广告费么文章目录 1、SPAWN方式2、torchrun 方式 正如标题所写#xff0c;我们正常的普通训练都是单机单卡或单机多卡。而往往一个高精度的模型需要训练时间很长#xff0c;所以DDP分布式数据并行和混合精度可以加速模型训练。混精可以增大batch size. 如下提供示例代码#xff0c;经… 文章目录 1、SPAWN方式2、torchrun 方式 正如标题所写我们正常的普通训练都是单机单卡或单机多卡。而往往一个高精度的模型需要训练时间很长所以DDP分布式数据并行和混合精度可以加速模型训练。混精可以增大batch size. 如下提供示例代码经过官网查阅验证的。原始代码由百度文心一言提供。 问题pytorch 分布式数据并行与学习率周期和混合精度训练的示例代码 该问题分别问了当前2023年10月16日百度文心一言google bard,科大讯飞星火chatgpt4,bing。目前看来只有文心给出最接近正确答案。当前版本 pythorch 2.0.1。关于混精 torch.cuda.amp.autocast(args...) is equivalent to torch.autocast(cuda, args...),混精可以参考 https://pytorch.org/tutorials/recipes/recipes/amp_recipe.html?highlighttorch%20cuda%20amp%20autocasthttps://pytorch.org/docs/stable/amp.html#gradient-scaling 1、SPAWN方式 在使用这些助手都是免费的时发现对于不同问题各自的优劣不同所以可以都试一下。 在PyTorch中分布式数据并行Distributed Data ParallelDDP可以在多个GPU上并行训练模型提高训练速度。学习率周期Learning Rate Schedules用于调整训练过程中学习率的变化而混合精度训练则可以提高训练速度并减少内存使用。 以下是一个使用PyTorch的分布式数据并行、学习率周期和混合精度训练的示例代码 import os import torch import torch.nn as nn import torch.optim as optim import torch.distributed as dist import torch.multiprocessing as mp from torch.nn.parallel import DistributedDataParallel as DDP from torch.optim.lr_scheduler import ExponentialLR, CosineAnnealingLR from torch.cuda.amp import GradScaler, autocastdef setup(rank, world_size):Args:rank: Unique identifier of each processworld_size: Total number of processesos.environ[MASTER_ADDR] localhostos.environ[MASTER_PORT] 12355# initialize the process groupdist.init_process_group(backendnccl, rankrank, world_sizeworld_size)torch.cuda.set_device(rank)def cleanup():dist.destroy_process_group() # 定义模型 class SimpleModel(nn.Module):def __init__(self):super(SimpleModel, self).__init__()self.fc nn.Linear(10, 10)def forward(self, x):return self.fc(x)# 训练函数 def train(rank, world_size):print(fRunning basic DDP example on rank {rank}.)gpuranksetup(rankrank,world_sizeworld_size,)torch.manual_seed(0)model SimpleModel().cuda(gpu)ddp_model DDP(model, device_ids[gpu])# 使用混合精度训练scaler GradScaler()optimizer optim.SGD(ddp_model.parameters(), lr0.01)# 使用学习率周期scheduler1 ExponentialLR(optimizer, gamma0.9)scheduler2 CosineAnnealingLR(optimizer, T_max50, eta_min0)# 模拟数据data torch.randn(32, 10).to(gpu)target torch.randn(32, 10).to(gpu)for epoch in range(100):optimizer.zero_grad()with autocast(): # 启用混合精度训练output ddp_model(data)loss nn.MSELoss()(output, target)scaler.scale(loss).backward() # 使用scaler进行梯度缩放scaler.step(optimizer) # 更新参数scaler.update() # 更新GradScaler状态scheduler1.step() # 使用ExponentialLR调整学习率scheduler2.step() # 使用CosineAnnealingLR调整学习率print(fRank {rank}, Epoch {epoch}, Loss {loss.item()})cleanup() if __name__ __main__:world_size torch.cuda.device_count() # 获取可用GPU的数量mp.spawn(train, args(world_size,), nprocsworld_size, joinTrue) # 在每个GPU上运行train函数 这个示例代码在每个GPU上并行训练一个简单的线性模型。每个进程即每个GPU都有自己的模型副本并且每个进程都独立计算梯度。然后所有进程都会聚集他们的梯度并平均然后用于一次总体参数更新。这个过程会根据学习率周期来调整每个epoch后的学习率 本部分参考官方的https://pytorch.org/tutorials/beginner/ddp_series_multigpu.html?highlighttorch%20multiprocessing 是写单GPU和多GPU的区别。 2、torchrun 方式 首先是写一个ddp.py,内容如下 import os import torch import torch.nn as nn import torch.optim as optim import torch.distributed as dist from torch.nn.parallel import DistributedDataParallel as DDP from torch.optim.lr_scheduler import ExponentialLR, CosineAnnealingLR from torch.cuda.amp import GradScaler, autocast# 定义模型 class SimpleModel(nn.Module):def __init__(self):super(SimpleModel, self).__init__()self.fc nn.Linear(10, 10)def forward(self, x):return self.fc(x)# 训练函数 def train():dist.init_process_group(nccl)rank dist.get_rank()print(fStart running basic DDP example on rank {rank}.)gpu rank % torch.cuda.device_count()torch.manual_seed(0)model SimpleModel().to(gpu)ddp_model DDP(model, device_ids[gpu])# 使用混合精度训练scaler GradScaler()optimizer optim.SGD(ddp_model.parameters(), lr0.01)# 使用学习率周期scheduler1 ExponentialLR(optimizer, gamma0.9)scheduler2 CosineAnnealingLR(optimizer, T_max50, eta_min0)# 模拟数据data torch.randn(32, 10).to(gpu)target torch.randn(32, 10).to(gpu)for epoch in range(100):optimizer.zero_grad()with autocast(): # 启用混合精度训练output ddp_model(data)loss nn.MSELoss()(output, target)scaler.scale(loss).backward() # 使用scaler进行梯度缩放scaler.step(optimizer) # 更新参数scaler.update() # 更新GradScaler状态scheduler1.step() # 使用ExponentialLR调整学习率scheduler2.step() # 使用CosineAnnealingLR调整学习率print(fRank {rank}, Epoch {epoch}, Loss {loss.item()})dist.destroy_process_group() if __name__ __main__:train()单机多卡执行 torchrun --nproc_per_node4 --standalone ddp.py如果是多机多卡 torchrun --nnodes2 --nproc_per_node8 --rdzv_id100 --rdzv_backendc10d --rdzv_endpoint$MASTER_ADDR:29400 elastic_ddp.py本部分参考 https://pytorch.org/tutorials/intermediate/ddp_tutorial.html#save-and-load-checkpoints
http://www.hkea.cn/news/14295707/

相关文章:

  • 代做网站关键词手机可以创建网站吗
  • 做网站赚广告搭建钓鱼网站教程
  • 如何做网站流量分析报表义乌廿三里
  • 甘肃省 网站建设 审批做外贸网站多少钱
  • 免费行情网站软件东阿做网站多少钱
  • 怎么建立一个网站平台高考加油飞沐视觉北京网站建设公司
  • 国内的优秀网站做网站需要什么系统
  • 互联网做网站排明虚拟机wordpress插件
  • 域客士单页网站地方网站做相亲赢利点在哪里
  • 做网站现在用什么软件锦州网站建设预订
  • 重庆南岸网站建设天津公司网站建设
  • 网后台的网站怎么做装修公司招聘网站
  • 做龙之向导网站有用吗成品播放器
  • 网站图片什么格式wordpress 修改主题
  • 做app网站的软件有哪些内容网站推广常用方法有哪些
  • 四川高速建设公司网站电影资源分享网站怎么做的
  • 建网站算法学做网站应该看那些书
  • 个人记账网站开发时长网页设计实践报告
  • 有人知道网站怎么做吗中国建设银行的网站用户名是什么意思
  • 建一个app和网站那个比较好中国能源建设集团有限公司董事长
  • 简述商务网站建设做明星简介网站侵权吗
  • 全景网站制作青岛 生物类网站建设
  • 网页设计视频网站建设乌海网站开发
  • 网站seo百度百科网站如何绑定虚拟主机
  • 塘厦建设网站注册深圳公司新规定
  • 保安做网站河南专业网站建设创新中心
  • o2o电商网站建设地下城钓鱼网站如何做
  • 外贸网站后台国外著名购物网站排名
  • 房地产公司网站建设报价方案网站建设 实施计划书
  • 网站建设外包服务网站安全检测可以检测哪些内容风险信息