欢迎关注我的公众号 [极智视界],获取我的更多笔记分享

  大家好,我是极智视界,本文介绍一下 昇腾 CANN ATC 模型转换

  昇腾 CANN 的全称是 Compute Architecture for Neural Networks,是昇腾针对 AI 场景推出的异构计算架构,通过提供多层次的编程接口,支持用户快速构建基于昇腾平台的AI应用和业务。用过昇腾的同学应该都清楚,需要把咱们的原始模型 (可能是 pytorch 的,可能是 tf 的,可能是 caffe 的,也可能是 darknet 的) 转换成 .om 模型,然后才能调用 AclLiteModel::ExecuteEx() 进行模型的推理。这个 模型转换的过程 就要用到 CANN 的 ATC 工具。目前 ATC 工具直接支持从 caffe、onnx、tf pb 以及 mindspore 模型的转换,所以如果你的训练框架是 pytorch,则需要做 torch.onnx.export 的操作;如果你的训练框架是 darknet,则需要做 darknet -> caffedarknet -> onnx 的转换,之后才能用到 ATC。以上说的是整网模型,当然 ATC 还支持用 Ascend IR 定义的单算子的 om 转换。因此就形成了如下的 ATC 功能架构图:

  在使用 ATC 流程时,需要先安装好 CANN 开发环境,然后准备好需要转换的模型文件(caffemodel、onnxmodel、pbmodel、mindsporemodel、json单算子模型),然后可以开始使用 ATC(可选 AIPP 配置)。整体ATC 工具的执行流程如下:

  来解释一下 AIPP 配置:AIPP 是 ATC 的高级功能,AIPP 全称 Artificial Intelligence Pre-Processing 智能图像预处理,用于在昇腾 AI Core 上完成图像预处理,包括改变图像尺寸(crop + padding,reisze(暂时还不支持))、色域转换 (转换图像格式:BGR->RGB、YUV->BGR 等)、归一化 (减均值除方差),在 AIPP 图像数据预处理之后再把数据喂给模型推理。可以说,有了 AIPP,你一般不用在模型外面再自己写预处理了。自己在模型外面写预处理有几个弊端:(1) 开发 AI Core 是有门槛的 (TBE 或 TIK开发方式);(2) 如果你用 AI CPU (注意:所谓的 AI CPU 也是昇腾卡上的计算资源,不是直观理解的 CPU) 去写预处理算子,一方面也是有门槛的 (可能比 AI Core 开发门槛低一点),另一方面性能也不会好到哪里去;(3) 如果你干脆就直接跑在 CPU 上,那么可能会涉及 deviceTohost / hostTodevice 的数据拷贝,而且本身 CPU 就比较慢。

  下面我整理了一下 ATC 的传参,主要包括 总体选项输入选项输出选项目标芯片选项功能配置选项模型调优选项算子调优选项调试选项,如下:

  好了,以上分享了 昇腾 CANN ATC 模型转换,希望我的分享能对你的学习有一点帮助。

 【极智视界】

《极智AI | 昇腾 CANN ATC 模型转换》

搜索关注我的微信公众号【极智视界】,获取我的更多经验分享,让我们用极致+极客的心态来迎接AI !

极智AI | 昇腾 CANN ATC 模型转换相关推荐

  1. 极智AI | 谈谈昇腾 CANN AIPP

      欢迎关注我的公众号 [极智视界],获取我的更多笔记分享   大家好,我是极智视界,本文介绍一下 谈谈昇腾 CANN AIPP.   昇腾 CANN 的全称是 Compute Architectur ...

  2. 极智AI | 谈谈模型剪枝之通道剪枝策略

      欢迎关注我的公众号 [极智视界],获取我的更多笔记分享   大家好,我是极智视界.本文主要聊一聊模型剪枝之通道剪枝相关实践分享.   模型剪枝是模型推理加速的重要实现技术手段,模型剪枝往往期望达到 ...

  3. 极智AI | Attention 中 torch.chunk 的 TensorRT 实现

      欢迎关注我的公众号 [极智视界],获取我的更多笔记分享   大家好,我是极智视界,本文介绍一下 Attention 中 torch.chunk 的 TensorRT 实现.   Attention ...

  4. 极智AI | 谈谈 caffe 框架

      欢迎关注我的公众号 [极智视界],获取我的更多笔记分享   大家好,我是极智视界,本文介绍一下 谈谈 caffe 框架.   大部分同学应该都知道,caffe 是一个 古老而又优秀的深度学习训练框 ...

  5. 极智AI | 再谈昇腾CANN量化

    欢迎关注我的公众号 [极智视界],获取我的更多笔记分享 大家好,我是极智视界,本文介绍一下 再谈昇腾CANN量化. 在上一篇已经介绍了昇腾CANN量化的原理,对于原理或公式推导有兴趣的同学可以去看一看 ...

  6. 极智AI | 一文看懂昇腾达芬奇架构计算单元

        本文详细解释了昇腾达芬奇架构中计算单元的架构与计算原理. 文章目录 1.达芬奇架构概览 2.矩阵计算单元 2.1 矩阵相乘 2.2 矩阵计算单元的计算方式 2.3 向量计算单元的计算方式 2. ...

  7. 极智AI | 量化实现分享五:详解格灵深瞳 EQ 量化算法实现

    欢迎关注我的公众号 [极智视界],回复001获取Google编程规范   O_o   >_<   o_O   O_o   ~_~   o_O   大家好,我是极智视界,本文剖析一下格灵深瞳 ...

  8. 极智AI | 谈谈几种量化策略:MinMax、KLD、ADMM、EQ

      欢迎关注我的公众号 [极智视界],获取我的更多笔记分享   O_o   >_<   o_O   O_o   ~_~   o_O   本文主要聊一下深度学习模型量化相关策略.   模型小 ...

  9. 极智开发 | 昇腾atlas300 docker开发环境搭建

    ​  遵循 驱动 -> 固件的安装顺序. 容器内npu驱动安装   有两种方式: 1.宿主机内已经安装好了驱动,容器内调用宿主机的驱动: 2.管你宿主机有没有装驱动,我在容器里自己装: 1.宿主 ...

最新文章

  1. 第四周项目四-程序分析(4)
  2. mysql默认几个库_MySQL 安装初始化mysql后,默认几个库介绍
  3. Linux文件查找Find命令使用解析
  4. fileinput 加 ftp 加 nginx 加 SpringBoot上传文件
  5. linux suse11 nfs,suse11 nfsserver服务安装
  6. LSI/LSA算法原理与实践Demo
  7. java中产生对象的两种方式
  8. 纯新手DSP编程--5.31--DSP/BIOS中的数据交换
  9. 省市区三级联动 mysql_javaweb--json--ajax--mysql实现省市区三级联动(附三级联动数据库)...
  10. PMP新大纲考试真题
  11. 2007年中国网络游戏市场分析及投资咨询报告(上下卷)
  12. STM32调试过程 常见错误及解决方案
  13. linux下7z压缩包解压
  14. 小米笔记本电脑我的计算机图标不见了怎么办,毕业论文致谢结尾800字范文_本科毕业论文致谢结尾通用...
  15. 96微信编辑器如何将样式中的二维码替换成自己的?
  16. 工作4年从美团、360、陌陌、百度、阿里、京东面试回来感想
  17. 旧上海老大杜月笙语录
  18. 软盘是什么_什么是软盘?
  19. 我想学单片机,但不知从何下手
  20. HTML+CSS期末大作业——中华传统文化题材学生网页设计成品(6页面) 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码...

热门文章

  1. Python常用基础语法知识点大全
  2. Fastadmin 权限管理
  3. opencv入门跟踪算法(3)之camshift
  4. 千万不要招实习生啊!!!!
  5. 【向 Dice Roller 应用添加图片】
  6. 烟囱排放污染物烟羽扩散模型
  7. 中科大计算机学院操作系统真题(www.itbuluoge.com)
  8. ibus极品五笔切换单字模式
  9. 跟老男孩学Linux 5 in 1 PDF
  10. python 便利店收银系统_前端开发之便利店收银系统代码