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

阿拉尔市网站建设_网站建设公司_导航菜单_seo优化

设计师免费素材网站推荐,需要自己的网站需要怎么做,蚌埠铁路建设监理公司网站,大连企业网站建设模板本文旨在帮助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.ihoyoo.com/news/52316.html

相关文章:

  • 地方生活门户网站建设方案微站开发
  • 内乡微网站建设邓海舟网站建设教程
  • 电商网站开发要哪些技术郑州建设网站建站
  • dw新建站点可口可乐广告策划书范文
  • 移动建站平台超级优化大师下载
  • 邢台wap网站建设价格自己网站上做淘宝搜索引擎
  • 公司查名网站灰色词seo排名
  • 做的好的商城网站广州哪里有做网站的
  • 中国网站开发用盗版犯法宁德古田建设局网站
  • 中国网站的建设专业加速器产业园
  • 广东专业的网站制作网站建设 回本
  • 浙江综合网站建设配件青海服装网站建设公司
  • 运城网站建设成都万商云集做网站怎么样
  • 深圳欧啦啦网站建设网页制作工具的选择与网站整体风格
  • 电子商务网站建设pdf自助建站软件排行榜
  • 中山网站制作建设庄辉个人网站建设教学
  • 福田企业建站推广服务公司深圳市涂能装饰设计公司网站
  • 十四冶建设集团技工学校网站wp做网站
  • 帝国cms和wordpress哪个更好鹤壁做网站优化
  • 网站开发 0755外贸公司倒闭的多吗
  • 上市企业网站设计大连模板网站制作哪家专业
  • 内网网站建设的必要性wordpress 表格样式
  • 成都微网站系统wordpress水煮鱼
  • 企业网站建设作用新浪图床 wordpress
  • 做网站的企业有哪些在工商局网站如果做注销公告
  • wordpress建站费用南山公司网站建设
  • 潜山云建站网站建设外包公司设计完网站谁负责运营
  • 制作网站的专业公司哪家好网龙网络品牌推广
  • 手机建站的网站有哪些公司邮箱一般用哪个
  • 网站建设主要推广方式广西建设质监站官方网站