Ascend-pytorch插件介绍及模型迁移

本文介绍了Ascend-Pytorch插件,它是用于昇腾AI处理器适配PyTorch框架的工具,提供昇腾的超强算力。内容包括PyTorch Adapter的实现原理、模型迁移步骤、算子满足度分析方法以及手动和自动迁移模型的详细过程。
摘要由CSDN通过智能技术生成

Ascend-pytorch插件介绍及模型迁移

用于昇腾适配PyTorch框架,为使用PyTorch框架的开发者提供昇腾AI处理器的超强算力。

  • links:
    • AscendPyTorch官方仓库
    • PyTorch官方主页
    • PyTorch官方文档
    • PyTorch官方仓库

当前(2023.9.20)AscendPyTorch支持的pytorch版本如下:

AscendPyTorch版本 CANN版本 支持PyTorch版本 代码分支名称
5.0.RC2 CANN 6.3.RC2 2.0.1.rc1 v2.0.1-5.0.rc2
5.0.RC2 CANN 6.3.RC2 1.8.1.post2 v1.8.1-5.0.rc2
5.0.RC2 CANN 6.3.RC2 1.11.0.post1 v1.11.0-5.0.rc2

基本介绍

PyTorch Adapter实现原理

pytorch仓的结构:

在这里插入图片描述

  • torch/ # 存放大家熟悉的python模块
    • csrc # 用C++实现的pytorch前端的功能,包括python和C++的binding,autograd和JIT
  • aten # "A Tensor Library"的缩写
    • src/ATen # 用C++实现的tensor基本操作
  • c10 # Caffe2和 A Tensor的双关语,包含pytorch的核心抽象,以及tensor和存储数据结构的实际实现
核心机制-dispatch

简单而言,就是根据API调用时,输入的数据类型来决定后端调用的API类型。比如CPU和GPU的API是不一样的,可以自动根据传入的tensor类型来自动选择API。

具体来看,对于每一个前端的算子,dispatcher会维护一个函数指针表,为每个dispatch key提供对应的视线。这个表中有针对不同后端(CPU,GPU,XLA)的dispatch条目,也有想autograd和tracing这样的高抽象层级概念的条目。dispatcher根据输入的tensor和其他东西计算出一个dispatch key,然后跳转到函数指针表所指向的函数。

所以,对于昇腾处理器而言,实现Adapter主要就是要讲用昇腾实现的算子注册到dispatcher上面,即可复用pytorch的dispatch机制完成算子分布。

示例-单算子调用流程
  1. 用户在前端调用算子,比如可调用nn.Module,nn.Funtional,Tensor对象上的函数;
  2. pybind11根据注册绑定的映射规则,调用后端C++方法;
  3. 后端C++接口根据输入参数来选取所需调用的算子类型(dispatch机制),比如是调用CPU实现的算子还是GPU实现的算子(注意:此处只要注册NPU实现的算子,便可调用昇腾处理器的计算能力;
  4. 调用相应算子,返回结果;

PyTorch Adapter的逻辑架构图

在这里插入图片描述

在线适配方案:模型执行,训练等主要功能流程有Pytorch框架提供,用户界面API保持不变,将Davinci设备和计算库作为扩展资源注册到PyTorch框架中。

  • 优点:
    • 继承PyTorch动态图特性
    • 继承原生PyTorch使用方式,移植的时候,在开发方式和代码复用方便做到最小的改动;
    • 继承Pytorch的原生体系结构,保留框架本身出色的特性,
最低0.47元/天 解锁文章
fdd096030079
关注 关注
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
【2023 · CANN训练营第一季】Pytorch模型迁移和调优
weixin_70078089的博客
05-14 381
在这一部分,首先介绍pytorch的在线对接方案,以及达芬奇架构的计算单元,和Ascend-pytorch的安装。Vector贾盖各种基本的计算类型和许多定制的计算类型,主要包括ip16,p32,int32,int8等。在打通流程的通路之上,对于新增的网络类型或结构,只需涉及相关计框架类算子,反算类算子的开发和实现向图建立和实现机制等结构可保持复用。进入之后,在 模型开发(pytorch) - pytorch网络模型迁移和训练 - 模型迁移与训练 - 模型迁移 - 手工迁移中有详细解释。
使用Mindstudio调用Modelarts进行模型训练
gengu6585的博客
07-17 2021
本文介绍如何使用MindStudio调用ModelArts资源进行模型训练。ModelArts是面向AI开发者的一站式开发平台,而Mindstudio是一个IDE,为AI开发提供了所需的一站式开发环境,结合两者可以高效便捷地完成AI应用开发。...
Ascend平台模型迁移方法和步骤(PyTorch
qq_46657837的博客
04-09 870
NPU又叫AI芯片,是一种嵌入式神经网络处理器,其与CPU、GPU明显区别之一在于计算单元的设计,如图所示,在AI Core内部计算单元进一步划分为矩阵运算,向量运算和标量运算。注意:这里所说的迁移只是指用Pytorch搭建的模型Ascend系列硬件上训练,并不直接涉及MindSpore。Pytorch模型迁移共有三种方式,根据源代码的不同修改的难易程度也不同,因此修改时需要因‘’地‘’制宜。个人经验:可以先试着使用自动迁移的方式,在训练脚本中添加添加那一行代码,若不行的话则直接进行手动迁移
torchfields:一个PyTorch插件,用于处理图像映射和位移场,包括空间转换器
05-02
火炬领域 一个插件,用于处理图像映射和位移场,包括空间转换器 Torchfields提供了一种抽象,它巧妙地封装了和使用的位移场的功能。 在大多数情况下,可以将字段视为普通的PyTorch张量,并且还包括用于组合位移和从张量采样的其他功能。 安装 要安装Torchfields,只需执行以下操作 pip install torchfields 介绍 位移字段表示指示图像应该如何变形的映射或流。 它实质上是一个在每个像素上包含位移向量的空间张量,其中每个位移向量表示该像素处的位移距离和方向。 位移场惯例 单位 位移的标准单位是一半图像,因此,位移矢量的大小为2意味着位移距离等于位移图像的边长。 注意:此约定起源于原始的论文,其中这些字段以映射形式表示,其中-1表示图像的左边缘或上边缘,而+1表示图像的左边缘或上边缘。 torchfields还支持无缝转换,并从使用所述像素的单位pixe
PyTorch模型迁移:GPU环境到Ascend平台实战指南
aibishe的博客
06-09 1210
MindStudio提供您在AI开发所需的一站式开发环境,支持模型开发、算子开发以及应用开发三个主流程中的开发任务。依靠模型可视化、算力测试、IDE本地仿真调试等功能,MindStudio能够帮助您在一个工具上就能高效便捷地完成AI应用开发。MindStudio采用了插件化扩展机制,开发者可以通过开发插件来扩展已有功能。针对安装与部署,MindStudio提供多种部署方式,支持多种主流操作系统,为开发者提供最大便利。
Python-PyTorch的tensorboard插件
08-11
PyTorch的tensorboard插件,只用很简单的函数调用就能写出Tensorboard事件,支持模型图可视化。除了PyTorch外,Chainer、Mxnet和Numpy也适用。
华为Ascend昇腾适配PyTorch框架
IT菜鸟
02-19 7707
通常,开发者基于PyTorch框架开发的AI模型不能直接在昇腾AI处理器上运行(训练和推理),即运行在GPU上的PyTorch模型不能平滑迁移昇腾AI处理器上运行。为此,本教程用于昇腾适配PyTorch框架,为使用PyTorch框架的开发者提供昇腾AI处理器的超强算力。PyTorch安装指南PyTorch Adapter插件,用于昇腾适配PyTorch框架,为使用PyTorch框架的开发者提供昇腾AI处理器的超强算力。
系统调优助手,PyTorch Profiler TensorBoard 插件教程
I good vegetable a!
04-16 3539
使用PyTorch Profiler进行性能分析已经一段时间了,毕竟是PyTorch提供的原生profile工具,个人感觉做系统性能分析时感觉比Nsys更方便一些,并且画的图也比较直观。
风格迁移模型部署教程:PyTorch转华为Ascend平台
尝试使用MindSpore进行模型迁移是本项目的一个附加部分,表明项目开发者对多框架的支持和兼容性进行了探索。 此外,本项目的源码已经过测试,确认无误后才上传,项目平均得分高达96分,可见其质量和可靠性。这个...
人工智能+数图大作业-基于风格迁移模型python源码+文档说明(高分课程设计)
最新发布
06-27
尝试使用mindspore进行模型迁移, - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目...
人工智能+数图大作业 基于风格迁移模型,在pytorch,mindspore,Ascend等框架和平台的训练和部署.zip
06-02
人工智能+数图大作业 基于风格迁移模型,在pytorch,mindspore,Ascend等框架和平台的训练和部署.zip
Ascend_PyTorch安装指北
fdd096030079的博客
09-20 677
软件名称:Ascend-cann-toolkit_6.3.rc2.alpha002_linux-aarch64.run (如果是x86 CPU,选取Ascend-cann-toolkit_6.3.rc2.alpha002_linux-x86_64.run)驱动版本为:Ascend-hdk-910-npu-driver_23.0.rc1_linux-aarch64.run。在这里选取最新的6.3.RC2.alpha002版本,跟上面的固件驱动里面显示的CANN版本一致。关于固件驱动,昇腾提供社区版下载。
【CANN训练营第三季】Ascend平台体验Pytorch笔记
JeffDing
12-22 2746
【CANN训练营第三季】MMDeploy转换模型
PyTorch模型开发使用PyTorch GPU2Ascend
f_ghikl的博客
11-01 1242
PyTorch模型开发使用PyTorch GPU2Ascend
昇腾AI入门课(PyTorch
weixin_38771145的博客
02-22 1744
当前阶段,PyTorch框架与昇腾AI处理器进行了在线对接适配。方案特性及优点昇腾AI处理器的加速实现方式是以算子为粒度进行调用(OP-based),即通过Ascend Computing Language(AscendCL)调用一个或几个亲和算子组合的形式,代替原有GPU的实现方式。其逻辑模型如图1所示。最大限度的继承PyTorch框架动态图的特性。最大限度的继承GPU在PyTorch上的使用方式,可以使用户在将模型移植到昇腾AI处理器设备进行训练时,在开发方式和代码重用方面做到最小的改动。
CNN插件:把YOLOF中的Encoder变为一个Pytorch插件
AI数据工厂
04-13 606
将YOLOF中的Dilated Encoder修改为纯Pytorch版的插件,以期和其他网络结合使用。
MSAdapter,一款高效迁移PyTorch代码到昇思MindSpore生态的适配工具
Kenji_Shinji的博客
04-13 673
下面以AlexNet模型为例,训练CIFAR10数据集的PyTorch代码转到MSAdapter代码,完整的代码可以从MSAdapterModelZoo获取(https://openi.pcl.ac.cn/OpenI/MSAdapterModelZoo/src/branch/master/official/cv/alexnet)为了帮助用户高效迁移PyTorch代码到昇思MindSpore生态,昇思MindSpore和鹏城实验室联合开发的一款昇思MindSpore生态适配工具——MSAdapter。
【环境配置】YOLOX-华为Ascend-Pytorch模型离线推理【项目复盘】
Gorgeous_wxd
12-07 1690
文章目录推理流程导出ONNX文件转换om模型测试集预处理前处理脚本生成预处理数据,得到对应的info文件离线推理精度统计后处理脚本性能对比npugpu 前言 本文基于下面的参考 Ascend PyTorch模型离线推理指导 推理流程 导出ONNX文件 这一步参考官方教程 转换om模型 激活环境source env.sh env.sh内容见下 # export install_path=/usr/local/Ascend/ascend-toolkit/latest # export install_pat
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——第二章学习笔记
AICSDNU的博客
04-24 329
训练脚本在 运行的同时,会自动将脚本中的CUDA接口替换为昇腾AI处理器支持的NPU接口。● 工具迁移:训练前,通过脚本迁移工具,自动将训练脚本中的CUDA接口替换为昇 腾AI处理器支持的NPU接口,并生成迁移报告(脚本转换日志、不支持算子的列 表、脚本修改记录)。训练时,运行转换后的脚本。● 手工迁移:算法工程师通过对模型的分析、GPU与NPU代码的对比进而对训练脚 本进行修改,以支持在昇腾AI处理器上执行训练。– 定义NPU为训练设备,或将训练脚本中适配GPU的接口切换至适配NPU的接 口。
写文章

热门文章

  • 彻底解决VScode中采用python import自定义模块显示unresolved import 问题 和 无法跳转到自定义模块函数定义 27714
  • python+opencv 问题解决方案,OpenCV Error: Unspecified error (The function is not implemented. Rebuild the 17893
  • C++ vector find error: no matching function for call to ‘find(std::vector<int>::iterator, std::v 15472
  • Ubuntu18.04 开机输入正确密码,无法进入桌面 13018
  • Linux之间图像界面的传输 ssh -X username@{remote ip} 10946

分类专栏

  • C++ 2篇

最新评论

  • C++ vector find error: no matching function for call to ‘find(std::vector<int>::iterator, std::v

    internet_conquer: 谢谢您啊,我是vscode里遇到的。。。帮大忙!

  • Piotr's Computer Vision Matlab Toolbox 各种问题的根源

    qq_41690590: 牛的牛的 感谢

  • Ascend-pytorch插件介绍及模型迁移

    2301_79470698: 大佬,可以出一期Adapter工作原理的讲解吗?或者有资源链接吗?找了好久都没找到相关比较全面的介绍

  • C++ vector find error: no matching function for call to ‘find(std::vector<int>::iterator, std::v

    鲁代码: 太感谢了,QT写C++也碰到此问题

  • 采用cmake nvcc fatal : Unsupported gpu architecture 'compute_20

    m0_74266412: 太棒啦!感谢!

大家在看

  • Cpp::STL—容器适配器priority_queue的讲解和模拟实现(17)
  • 使用Python处理API数据时,有哪些常见的数据清洗技巧? 86
  • python+flask框架的基于的药品库存管理系统的设计与实现(开题+程序+论文) 计算机毕业设计
  • AI产品经理:从入门到精通,一篇文章带你入门!(附学习资料) 660
  • 用AI怎样来迭代优秀的学习法,AI+费曼学习法的妙用!

最新文章

  • Ascend_PyTorch安装指北
  • Ubuntu下微信(wechat)经常无故卡死解决方法 百度输入法
  • 让不能上网的机器借能上网的机器上网
2023年2篇
2020年9篇
2019年4篇
2018年16篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家仿木纹玻璃钢花盆创意花钵组合深圳玻璃钢景观雕塑规格黑河动物玻璃钢雕塑安装山西玻璃钢大猩猩雕塑商场美陈 专业术语玻璃钢雕塑防开裂澳门人物卡通玻璃钢雕塑海南玻璃钢佛像雕塑厂家玻璃钢花盆护栏玻璃钢雕塑供应欢迎来电云南花朵玻璃钢景观雕塑公司新乡清远玻璃钢切面动物雕塑浙江室外玻璃钢花盆玻璃钢小品雕塑生产公司商场美陈创意设计效果图浙江商场美陈厂家供应盐城喜妹玻璃钢雕塑河源人物玻璃钢动物雕塑铜玻璃钢彩绘雕塑定做厂家辽宁玻璃钢雕塑介绍玉溪市玻璃钢雕塑湖州景观玻璃钢雕塑商场玻璃钢雕塑摆件采购铜玻璃钢雕塑图片商场玻璃扶手装饰美陈深圳火烈鸟玻璃钢雕塑厂家香港玻璃钢孔子雕塑庆阳卡通玻璃钢雕塑设计陕西玻璃钢雕塑制作厂家玻璃钢玻璃钢雕塑厂家供应香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化