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

查数据的权威网站电视台视频网站建设方案

查数据的权威网站,电视台视频网站建设方案,软件的开发文档,网站建设与管理学什么本文旨在帮助Pytorch使用者快速上手使用寒武纪MLU。以代码块为主#xff0c;文字尽可能简洁#xff0c;许多部分对标NVIDIA CUDA。不正确的地方请留言更正。本文不定期更新。 文章目录 前言Cambricon PyTorch的Python包torch_mlu导入将模型加载到MLU上model.to(mlu)定义损失函… 本文旨在帮助Pytorch使用者快速上手使用寒武纪MLU。以代码块为主文字尽可能简洁许多部分对标NVIDIA CUDA。不正确的地方请留言更正。本文不定期更新。 文章目录 前言Cambricon PyTorch的Python包torch_mlu导入将模型加载到MLU上model.to(mlu)定义损失函数然后将其拷贝至MLU将数据从CPU拷贝到MLU设备以mnist.py为例的训练代码demo参考引用 前言 大背景信创改造、信创国产化、GPU国产化。 为使PyTorch支持寒武纪MLU寒武纪对机器学习框架PyTorch进行了部分定制。若要在寒武纪MLU上运行PyTorch需要安装并使用寒武纪定制的 Cambricon PyTorch。 Cambricon PyTorch的Python包torch_mlu导入 Cambricon CATCH是寒武纪发布的一款Python包包名torch_mlu提供了在MLU设备上进行张量计算的能力。安装好Cambricon CATCH后便可使用torch_mlu模块 import torch # 需安装Cambricon PyTorch import torch_mlu # 动态扩展MLU后端附 Cambricon PyTorch源码编译安装 导入 torch 和 torch_mlu 后可以测试在MLU上完成加法运算 t0 torch.randn(2, 2, devicemlu) # 在MLU设备上生成Tensor t1 torch.randn(2, 2, devicemlu) result t0 t1 # 在MLU设备上完成加法运算将模型加载到MLU上model.to(‘mlu’) 以ResNet18为例将模型加载到MLU上用 model.to(mlu)对标cuda的 model.to(device) # 定义模型 model models.__dict__[resnet50]() # 将模型加载到MLU上。 mlu_model model.to(mlu)定义损失函数然后将其拷贝至MLU # 构造损失函数 criterion nn.CrossEntropyLoss() # 将损失函数拷贝到MLU上 criterion.to(mlu)将数据从CPU拷贝到MLU设备 x torch.randn(1000000, dtypetorch.float) x_mlu x.to(torch.device(mlu), non_blockingTrue)以mnist.py为例的训练代码demo import torch # 导入原生 PyTorch import torch_mlu # 导入 Cambricon PyTorch from torch.utils.data import DataLoader from torchvision.datasets import mnist from torch import nn from torch import optim from torchvision import transforms from torch.optim.lr_scheduler import StepLR import torch.nn.functional as F# 定义模型 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 F.relu(x)x self.conv2(x)x F.relu(x)x F.max_pool2d(x, 2)x self.dropout1(x)x torch.flatten(x, 1)x self.fc1(x)x F.relu(x)x self.dropout2(x)x self.fc2(x)output F.log_softmax(x, dim1)return output# 模型训练 def train(model, train_data, optimizer, epoch):model model.train()for batch_idx, (img, label) in enumerate(train_data):img img.mlu()label label.mlu()optimizer.zero_grad()out model(img)loss F.nll_loss(out, label)# 反向计算loss.backward()# 梯度更新optimizer.step()if batch_idx % 100 0:print(Train Epoch: {} [{}/{} ({:.0f}%)]\tLoss: {:.6f}.format(epoch, batch_idx * len(img), len(train_data.dataset),100. * batch_idx / len(train_data), loss.item()))# 模型推理 def validate(val_loader, model):test_loss 0correct 0model.eval()with torch.no_grad():for images, target in val_loader:images images.mlu()target target.mlu()output model(images)test_loss F.nll_loss(output, target, reductionsum).item()pred output.argmax(dim1, keepdimTrue)correct pred.eq(target.view_as(pred)).sum().item()test_loss / len(val_loader.dataset)# 打印精度结果print(\nTest set: Average loss: {:.4f}, Accuracy: {}/{} ({:.0f}%)\n.format(test_loss, correct, len(val_loader.dataset),100. * correct / len(val_loader.dataset)))# 主函数 def main():# 定义预处理函数data_tf transforms.Compose([transforms.ToTensor(),transforms.Normalize([0.1307],[0.3081])])# 获取 MNIST 数据集train_set mnist.MNIST(./data, trainTrue, transformdata_tf, downloadTrue)test_set mnist.MNIST(./data, trainFalse, transformdata_tf, downloadTrue)train_data DataLoader(train_set, batch_size64, shuffleTrue)test_data DataLoader(test_set, batch_size1000, shuffleFalse)net_orig Net()# 模型拷贝到MLU设备net net_orig.mlu()optimizer optim.Adadelta(net.parameters(), 1)# 训练10个epochnums_epoch 10# 训练完成后保存模型save_model True# 学习率调整策略scheduler StepLR(optimizer, step_size1, gamma0.7)for epoch in range(nums_epoch):train(net, train_data, optimizer, epoch)validate(test_data, net)scheduler.step()if save_model: # 将训练好的模型保存为model.pthif epoch nums_epoch-1:checkpoint {state_dict:net.state_dict(), optimizer:optimizer.state_dict(), epoch: epoch}torch.save(checkpoint, model.pth)if __name__ __main__:main()参考引用 寒武纪PyTorch v1.13.1用户手册
http://www.huolong8.cn/news/3392/

相关文章:

  • 24小时24元网站建设网络推广服务合同范本
  • 广州网站建设网站优化网站推广网站建设与管理报告
  • 兰州门户网站建设汕头百度seo在哪里
  • 专业做w7系统的网站简洁大气企业网站
  • 沈阳企业网站怎样制作WordPress更改admin
  • 政务网站建设方案河北省建设安全监督站的网站
  • 网站建设几大类型几款免费流程图制作软件
  • 二级域名怎么做网站备案给公司做个网站多少钱
  • 简单网站开发流程图济南便宜企业网站建设费用
  • 南宁网站搜索引擎优化ppt设计器在哪里
  • 罗湖区住房和建设网站深圳网站建站费用
  • 苏州商城网站制作淘宝客网站名
  • 做整合营销的网站重庆购物网站建设
  • 建设专业网站排名长沙电商网站制作
  • 商会 网站模板如何给网站做后台
  • 建设银行深圳分行网站建设银行保定分行网站
  • 公章在线制作网站湖北城乡建设网站
  • 成品网站源码下载企业网网页
  • 做网站网页多少钱南京seo报价
  • 子网站数量网站后台编辑内容不显示
  • 如何建设教师网上授课网站为什么不建议学python
  • 免费网站模版下载游戏工作室加盟需要什么条件
  • 手机网站建设价钱深圳有没有什么网站
  • 建设网站合同发帖子的网站
  • 市住房城乡建设部网站中国网站备案信息查询
  • 宁国网站设计公司常熟市维摩剑门绿茶网站建设目标
  • 网站创建方案论文网站建设好公司
  • 网站开发一般有那些语言网站建设说课ppt
  • wordpress网站菜单固定免费培训网站
  • 网站内容优化的主要方法开发一个小程序的流程