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

服务类网站免费建站免费网站app源码

服务类网站免费建站,免费网站app源码,长沙城乡住房建设厅网站,wordpress 推广提成本文旨在帮助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.hkea.cn/news/14410113/

相关文章:

  • 青岛的网站建设好用的百度网盘搜索引擎
  • 温州网站的优化企业网站首页效果图设计与制作
  • 苏州做网站专业的公司大棚网站建设
  • 在线教育网站策划方案app开发用到的技术
  • 如何用dreamer做网站云服务器怎么用详细步骤
  • 成都工程网站建设建设网站要不要钱百度贴吧
  • 关于英文网站建设的请示智慧团建网站链接
  • 网盘搜索网站如何做的字体设计在线转换器
  • 网络设计的原则seo推广公司有哪些
  • 聊城市建设工程质量监督站网站厦门网站建设哪家不错推荐
  • 清流县建设局网站如何介绍网站建设公司
  • 为网站优势台州建设网站制作
  • 网站制作步骤辽宁建设工程信息网官网新域名
  • 东莞网站的制作设计网站域名注册步骤
  • 网站推广是怎么推广的验证码平台网站开发
  • 网站建设技术大赛试题石家庄网站建设教程
  • 沈阳网络推广优化外汇seo公司
  • 手机网站优化排名怎么做网站建设流程总结
  • 为什么四川省建设厅网站打不开阿里巴巴网站的功能
  • 深圳著名设计网站大全自适应网站建设推荐
  • 网站开发对企业有什么用网站托管服务 重庆
  • 哪里有零基础网站建设教学网站的建设可以起到什么作用是什么意思
  • 宁波广告公司网站建设苏州网站建设哪家做得好
  • 网站建设招标方案模板上海法律网站建设
  • 邯郸网站优化技巧wordpress怎么改登陆地址
  • 济宁网站建设 济宁智雅思帽网站建设
  • 戴尔网站建设目标深圳网站网页制作
  • 网站建设pdf 下载中国人在线观看免费高清
  • 推荐网站建设的书那个网站适合学生做兼职
  • 网站设计建设有赞微商城网页版