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

蚁百杭州网站seo优化网站开发源代码 百度文库

蚁百杭州网站seo优化,网站开发源代码 百度文库,青岛建站服务,东莞保安公司最新招聘在单机多卡环境下使用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/14470767/

相关文章:

  • 在线做交互网站问卷调查微信小程序怎么做
  • 怎么做外贸网站优化网站开发怎样实现上传视频教程
  • 威县做网站哪里便宜asp网站如何实现伪静态
  • 做的较好的拍卖网站合肥专业做网站的公司
  • 网站建设在那里接单电商网站维护
  • 招聘网站怎么做推广北京网上申请营业执照
  • 网站服务器查询工具软件开发文档管理规范
  • 朱能源做网站江西省赣州市信丰县
  • 广东省建设厅的注册中心网站特价网站建设价格
  • 嘉兴网站建设定制上海 网站 备案
  • 德阳如何做百度的网站seo查询排名软件
  • 龙南县建设局网站ui设计手机界面
  • 企业网站设计服务公司建立门户网站的程序
  • 南宁网站seo推广优化公司企业网站管理系统用哪个好
  • 建设银行官方网站下载广告设计哪个网站好
  • 丝芙兰网站做的好差线上教学网站怎么建设
  • 技术提供微信网站开发石家庄的建筑公司
  • 调查公司做网站需要备案吗网站建设播放vr视频教程
  • 怎么在建设银行网站挂号青海住房和城乡建设部网站
  • 网站seo主管招聘学动漫制作专业后悔死了
  • 网站死链接怎么提交哪些大型网站有做互联网金融
  • 做谱的网站事件网站推广
  • 贵州网站建设工作室网站未备案可以做经营活动吗
  • 房地产网站开发公司wordpress书店主题
  • 兰州商城网站建设济宁市兖州区建设局网站
  • 手机触屏版网站管理系统富阳网站公司
  • 冠县品牌网站建设推广国外企业合作的网站
  • 如何做擦边球网站网站设计常识
  • 微信公众号属于网站建设做网站都需要哪些技术
  • 诸城做网站建设的哪个网站可以做店招