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

如何在网站上木马网店运营推广1+x证书查询

如何在网站上木马,网店运营推广1+x证书查询,医联体网站建设,科研实验室网站建设使用 PyTorch 和 Horovod 来编写一个简单的分布式训练 demo#xff0c;可以帮助你理解如何在多GPU或多节点环境中高效地训练深度学习模型。Horovod 是 Uber 开发的一个用于分布式训练的框架#xff0c;它支持 TensorFlow、Keras、PyTorch 等多个机器学习库。下面是一个基于 P…使用 PyTorch 和 Horovod 来编写一个简单的分布式训练 demo可以帮助你理解如何在多GPU或多节点环境中高效地训练深度学习模型。Horovod 是 Uber 开发的一个用于分布式训练的框架它支持 TensorFlow、Keras、PyTorch 等多个机器学习库。下面是一个基于 PyTorch 的简单例子演示了如何用 Horovod 进行分布式训练。 安装依赖 首先确保你已经安装了 PyTorch 和 Horovod。你可以通过 pip 或者 conda 来安装这些包。对于 Horovod推荐使用 MPIMessage Passing Interface进行通信因此你也需要安装 MPI 和相应的开发工具。 pip install torch torchvision horovod或者如果你使用的是 Anaconda conda install pytorch torchvision -c pytorch horovodrun --check # 如果没有安装 horovod, 可以使用以下命令安装 pip install horovod[pytorch]编写 PyTorch Horovod 代码 创建一个新的 Python 文件 train.py然后添加如下代码 import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader, TensorDataset import horovod.torch as hvd from torchvision import datasets, transforms# 初始化 Horovod hvd.init()# 设置随机种子确保结果可复现 torch.manual_seed(42)# 如果有 GPU 可用则使用 GPU if torch.cuda.is_available():torch.cuda.set_device(hvd.local_rank())# 加载数据集 (以 MNIST 数据集为例) transform transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,))]) train_dataset datasets.MNIST(., trainTrue, downloadTrue, transformtransform) val_dataset datasets.MNIST(., trainFalse, transformtransform)# 分布式采样器 train_sampler torch.utils.data.distributed.DistributedSampler(train_dataset, num_replicashvd.size(), rankhvd.rank()) val_sampler torch.utils.data.distributed.DistributedSampler(val_dataset, num_replicashvd.size(), rankhvd.rank())# 创建数据加载器 train_loader DataLoader(train_dataset, batch_size64, samplertrain_sampler) val_loader DataLoader(val_dataset, batch_size1000, samplerval_sampler)# 定义模型 class Net(nn.Module):def __init__(self):super(Net, self).__init__()self.conv1 nn.Conv2d(1, 32, 3, 1)self.conv2 nn.Conv2d(32, 64, 3, 1)self.dropout1 nn.Dropout2d(0.25)self.dropout2 nn.Dropout2d(0.5)self.fc1 nn.Linear(9216, 128)self.fc2 nn.Linear(128, 10)def forward(self, x):x self.conv1(x)x nn.functional.relu(x)x self.conv2(x)x nn.functional.relu(x)x nn.functional.max_pool2d(x, 2)x self.dropout1(x)x torch.flatten(x, 1)x self.fc1(x)x nn.functional.relu(x)x self.dropout2(x)x self.fc2(x)output nn.functional.log_softmax(x, dim1)return outputmodel Net()# 如果有 GPU 可用则将模型转移到 GPU 上 if torch.cuda.is_available():model.cuda()# 定义损失函数和优化器并应用 Horovod 的 DistributedOptimizer 包装 optimizer optim.Adam(model.parameters(), lr0.001 * hvd.size()) optimizer hvd.DistributedOptimizer(optimizer,named_parametersmodel.named_parameters(),ophvd.Average)# 损失函数 criterion nn.CrossEntropyLoss()# 训练模型 def train(epoch):model.train()for batch_idx, (data, target) in enumerate(train_loader):if torch.cuda.is_available():data, target data.cuda(), target.cuda()optimizer.zero_grad()output model(data)loss criterion(output, target)loss.backward()optimizer.step()if batch_idx % 100 0:print(Train Epoch: {} [{}/{} ({:.0f}%)]\tLoss: {:.6f}.format(epoch, batch_idx * len(data), len(train_sampler),100. * batch_idx / len(train_loader), loss.item()))# 验证模型 def validate():model.eval()validation_loss 0correct 0with torch.no_grad():for data, target in val_loader:if torch.cuda.is_available():data, target data.cuda(), target.cuda()output model(data)validation_loss criterion(output, target).item() # sum up batch losspred output.argmax(dim1, keepdimTrue) # get the index of the max log-probabilitycorrect pred.eq(target.view_as(pred)).sum().item()validation_loss / len(val_loader.dataset)accuracy 100. * correct / len(val_loader.dataset)print(\nValidation set: Average loss: {:.4f}, Accuracy: {}/{} ({:.0f}%)\n.format(validation_loss, correct, len(val_loader.dataset), accuracy))# 调用训练和验证函数 for epoch in range(1, 4):train_sampler.set_epoch(epoch)train(epoch)validate()# 广播模型状态从rank 0到其他进程 hvd.broadcast_parameters(model.state_dict(), root_rank0) hvd.broadcast_optimizer_state(optimizer, root_rank0)运行代码 要运行这段代码你需要使用 horovodrun 命令来启动多个进程。例如在单个节点上的 4 个 GPU 上运行该脚本可以这样做 horovodrun -np 4 -H localhost:4 python train.py这将在本地主机上启动四个进程每个进程都会占用一个 GPU。如果你是在多台机器上运行你需要指定每台机器的地址和可用的 GPU 数量。 请注意这个例子是一个非常基础的实现实际应用中可能还需要考虑更多的细节比如更复杂的模型结构、数据预处理、超参数调整等。
http://www.hkea.cn/news/14270146/

相关文章:

  • 个人网站效果苏州高新区住建局官网
  • 织梦开发小说网站教程佛山网站优化公司排名
  • 湘潭网站建设速来磐石网络龙岗网站建设网站排名优化
  • 手机版企页网站案例wordpress最好的编辑器
  • 南通网站群建设公司宣传册制作
  • WordPress和ftp区别wordpress可以做seo吗
  • 网站建设自助建站云建站营销型网站建设就找山东艾乎建站
  • 学校html网站模板代码网站备案后要做什么
  • 建设网站东莞广州品牌设计公司50强
  • 网站建设第一步怎么弄wordpress 判断文章页
  • 开封做网站优化vi视觉设计案例
  • 鄂州网站开发环境建设公司属于什么企业
  • 电影网站源码access中英文网站怎么做的
  • 怎么让公司建设网站泸州市住房与城乡建设局网站
  • 网站内容与功能设计与实现的品牌专业群建设网站
  • wordpress做的网站效果wordpress 分类标题
  • 网站技术解决大型门户网站建设方案
  • 物流网站建设公司阿里云 装wordpress
  • 废品回收在哪个网站做效果好商城的网站设计
  • 网站建设推广费用sem营销推广
  • 网站访问量统计代码怎么做西安seo公司
  • 大学生兼职网站开发毕设论文上海做网站的月薪
  • 企业网站优秀案例wordpress用户关注
  • 色块布局网站首页模板西安网站维保公司
  • 政务网站队伍建设情况汇报兰州网站定制公司
  • 秒玩大型游戏的网站企业自适应网站制作
  • 建立网站兴田德润电话多少网站模板登录模块
  • 怎样能注册自己的网站有哪些行业需要做网站建设和推广
  • 德吉机械东莞网站建设大连网站优化快速排名
  • 部门网站建设宗旨另一更新正在进行 wordpress