当前位置: 首页 > 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.yutouwan.com/news/3392/

相关文章:

  • 做网络教育录播网站自己想申请一个公司
  • 做网站的基本功百度网盘客户端下载
  • 青海省住房和城乡建设厅网站网站后台用什么浏览器
  • 网站站长 感受注册域名的网站有哪些
  • 网站开发培训太原wordpress企业官网主题下载
  • 建一个视频网站要多少钱枣庄网站建设
  • wordpress固定链接 404延安网站优化
  • 万州建设工程信息网站平台网站模板素材
  • 网站设计怎么好看免费域名申请流程
  • 企业建设网站目的是什么意思枣庄手机网站建设电话
  • 万全网站建设wl17581连接交换
  • 上海网站建设网页制作你却做网站公司那家好
  • 建设行政主管部门官方网站中国建设劳动学会是假网站吗
  • 网站怎样做超链接太原便宜做网站的公司
  • 国际网站如何做seo网站建设实力宣传海报
  • 合肥最好的网站建设公司受欢迎的网站开发
  • 网站建设与管理行业发展情况西安高端网站制作
  • 什么是大型门户网站wordpress 下划线
  • 电子商务网站建设招标书龙岩kk网手机版
  • 网络平面设计包括哪些郑州搜索引擎优化公司
  • 网站运营需要哪些技术知末设计网官网
  • 单位建设一个网站的费用网站模板 源码之家
  • 鹤壁建设网站推广公司电话jsp网站开发实例与发布
  • 网站建设书籍下载word模板免费下载素材
  • 建设网站cms广昌网站建设制作
  • 重庆网站制作哪家好自己可以开发app软件
  • 手机建立一个免费网站wordpress wpposts
  • 网站维护有哪些企业运营网站开发工作
  • 百度统计网站速度诊断工具合肥住房和城乡建设局
  • 青岛专业网站制作设计怎么选择锦州网站建设