【CANN训练营第三季】MMDeploy直播课笔记

举报
张辉 发表于 2022/12/06 06:27:54 2022/12/06
【摘要】 MMDeploy直播

当天的直播课还是有点好事多磨的:https://www.bilibili.com/video/BV1684y1y7Fi/?spm_id_from=333.999.0.0

可能是两个直播系统之间打架还是别的原因,声音一开始串得厉害,很像 《源代码》、《明日边缘》里面无限循环的那个场景。张小白一度地切换到其他直播。。。。

不过,总算MM的MMDeploy的具体介绍还是非常精彩的!

没想到openMMLab在GitHub上很好很强大:https://github.com/open-mmlab/mmdeploy

cke_27882.png


cke_123.png

当然,MMDeploy本来面对的也不只是昇腾CANN,它同样想支持各类硬件的场景。

目前支持的9个算法库为:

  • mmclsMMClassification,图像分类工具箱;
  • mmdet:目标检测工具箱;
  • mmseg:对象分割工具箱;
  • mmedit:图像和视频编辑工具箱;
  • mmocr:文本检测、文本识别及其下游任务(如关键信息提取)的工具箱;
  • mmpose:姿态估计工具箱;
  • mmdet3d:3D物体检测工具箱;
  • mmrotate:旋转物体检测工具箱;
  • mmaction2:视频理解工具箱。

看来可玩性很好啊。

另外,对应的推理后端环境包含:

  • x86,x64的PC环境
  • ARM环境
  • RISC-V精简指令集环境
  • Nvidia的GPU或Jetson设备
  • Ascend310推理设备
  • Apple M1芯片(话说M2支持吗?)
  • Rockchip(瑞芯、国产芯)
  • 高通的Adreno GPU和Hexagon DSP

等等。

从上图的右边可以看出,MMDeploy主要包含两个部分:Model Converter和SDK。前者负责把MMLab算法库(注意仅仅是这个算法库)的各类模型转换成ONNX等格式。

而SDK负责将模型在各个硬件平台上执行。

再具体分析一下:

cke_317549.png

如上图所示:

模型应该大多是Pytorch的模型,使用torch2onnx变成了onnx格式的文件。再使用onnx2backend(比如对于CANN就是ATC)将其转换为中间的backend  model,即CANN所需要的om离线模型。

转换过程中,还将会生成模型的一些Meta信息。

cke_4816.png

对于CANN而言,使用ACL,就可以对om模型进行推理了。

MMDeploy默认是安装支持c++的推理环境,但是如果安装参数中增加了Python的参数,也可以安装支持Python的推理环境。

下图是atc的具体介绍:可以实现 onnx模型转换为昇腾设备支持的om模型:

cke_1048.png

下图是acl(AscendCL)的具体介绍,它可以实现对om模型进行推理:

cke_2084.png

其中,右边描述了编写推理代码的套路。

下图是进一步讲解:

cke_26419.png

搭建MMDeploy昇腾环境的方法如下:

安装CANN 5.1RC2的CANN环境:

cke_5765.png

按照下图的方法依次执行:

cke_9238.png

直播中介绍了尝试 进行2种MMDeploy模型转换的方法:具体图中已经很清晰了,张小白就不废话了:

cke_16333.png


然后又介绍了对上面2种模型进行ACL推理的方法:

cke_23253.png

目前支持的模型列表如下表所示:

cke_24599.png

直播课还布置了作业:

cke_697.png

(全文完,谢谢阅读)

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。