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

杭州网站建设推广规模以上工业企业名单

杭州网站建设推广,规模以上工业企业名单,网站空间已过期,网页 代码怎么做网站在单机多卡环境下使用PyTorch训练MNIST数据集时#xff0c;可以通过DataParallel (DP) 和 DistributedDataParallel (DDP) 两种方式实现多卡并行。以下是具体实现示例和对比#xff1a; 1. DataParallel (DP) 方式 DP是单进程多线程的简单并行方式#xff0c;将模型复制到多…在单机多卡环境下使用PyTorch训练MNIST数据集时可以通过DataParallel (DP) 和 DistributedDataParallel (DDP) 两种方式实现多卡并行。以下是具体实现示例和对比 1. DataParallel (DP) 方式 DP是单进程多线程的简单并行方式将模型复制到多个GPU数据切分后分发到不同GPU计算最后在主GPU聚合梯度。 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader# 定义模型 class Net(nn.Module):def __init__(self):super(Net, self).__init__()self.fc nn.Linear(784, 10)def forward(self, x):return self.fc(x.view(x.size(0), -1))# 数据加载 transform transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,))]) train_dataset datasets.MNIST(./data, trainTrue, downloadTrue, transformtransform) train_loader DataLoader(train_dataset, batch_size64, shuffleTrue)# 初始化模型和优化器 model Net() model nn.DataParallel(model) # 包装为DP模式 model model.cuda() optimizer optim.SGD(model.parameters(), lr0.01)# 训练循环 for epoch in range(5):for data, target in train_loader:data, target data.cuda(), target.cuda()optimizer.zero_grad()output model(data)loss nn.CrossEntropyLoss()(output, target)loss.backward()optimizer.step()print(fEpoch {epoch}, Loss: {loss.item()})DP的缺点 单进程控制多卡存在GIL锁限制。主GPU显存瓶颈需聚合梯度。效率低于DDP。 2. DistributedDataParallel (DDP) 方式 DDP是多进程并行每个GPU独立运行一个进程通过NCCL通信同步梯度效率更高且无主GPU瓶颈。 import torch import torch.distributed as dist import torch.multiprocessing as mp import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader, DistributedSamplerdef setup(rank, world_size):dist.init_process_group(nccl, rankrank, world_sizeworld_size)def cleanup():dist.destroy_process_group()class Net(nn.Module):def __init__(self):super(Net, self).__init__()self.fc nn.Linear(784, 10)def forward(self, x):return self.fc(x.view(x.size(0), -1))def train(rank, world_size):setup(rank, world_size)# 每个进程独立加载数据使用DistributedSamplertransform transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,))])train_dataset datasets.MNIST(./data, trainTrue, downloadTrue, transformtransform)sampler DistributedSampler(train_dataset, num_replicasworld_size, rankrank)train_loader DataLoader(train_dataset, batch_size64, samplersampler)# 初始化模型和优化器model Net().to(rank)model nn.parallel.DistributedDataParallel(model, device_ids[rank])optimizer optim.SGD(model.parameters(), lr0.01)# 训练循环for epoch in range(5):sampler.set_epoch(epoch) # 确保每个epoch的shuffle不同for data, target in train_loader:data, target data.to(rank), target.to(rank)optimizer.zero_grad()output model(data)loss nn.CrossEntropyLoss()(output, target)loss.backward()optimizer.step()if rank 0: # 仅主进程打印print(fEpoch {epoch}, Loss: {loss.item()})cleanup()if __name__ __main__:world_size torch.cuda.device_count()mp.spawn(train, args(world_size,), nprocsworld_size, joinTrue)DDP的关键点 多进程启动mp.spawn 启动多个进程每个进程绑定一个GPU。进程组初始化init_process_group 设置NCCL后端。数据分片DistributedSampler 确保每个进程读取不同数据。模型包装DistributedDataParallel 自动同步梯度。 DP vs DDP 对比 特性DataParallel (DP)DistributedDataParallel (DDP)并行模式单进程多线程多进程通信效率低主GPU聚合瓶颈高NCCL直接通信显存占用主GPU显存压力大各GPU显存均衡代码复杂度简单无需修改数据加载较复杂需配置进程组和Sampler适用场景快速原型开发生产环境大规模训练 总结 DP适合快速验证多卡可行性但效率低。DDP是PyTorch官方推荐的多卡训练方式适合实际生产环境。
http://www.hkea.cn/news/14370563/

相关文章:

  • 在线做交互网站网站免费建站的方法
  • php网站开发最新需求网站营销推广公司
  • 北京网页设计公司兴田德润简介单页面网站如何优化引流
  • 什么的网站策划有哪些做平面设计好素材网站有哪些
  • 上海网站建设方案托管南昌p2p网站建设
  • 2017三五互联做网站怎么样建站城
  • 新蔡县住房和城乡建设局网站wordpress手机评论框
  • 网站可信认证对企业有哪些优势电子商务网站建设复习题
  • 如何自己学做网站为什么自己做的网站老是404错误
  • 示范校建设验收网站个人可以做社区网站有哪些
  • 都匀经济开发区建设局网站大连招标网
  • 高大上公司网站快站心动小程序官网
  • 网站开发系统计划书海南论坛网站建设
  • 湖南做网站 x磐石网络自己可以自己做公司的网站吗
  • 网站整套模板中国临海门户网站工程建设
  • 网页设计广州网站吉林企业网络推广方法
  • 青岛城乡住房建设厅网站网上打广告
  • asp.net建立手机网站广告投放工作怎么样
  • wordpress博客站点地图如何用百度上传图片做网站外链
  • wordpress 子网站网站推广总结
  • 免费oa管理系统网站SEO优化托管
  • 做知识内容的网站与app厦门在线制作网站
  • 做塑料哪个网站好微信营销软件收费排行榜
  • 厦门加盟网站建设大连网页制作美工
  • app与网站用的服务器网站后台怎么修改
  • 产品设计网站制作做淘宝网站的
  • 注册网站合集企业网站策划书范文3000字
  • 我的网站突然打不开了源服务器发生5xx错误
  • php企业网站例子专业知识
  • 门户网站建设先进性哪些网站做外链好