【CANN训练营第三季】MMDeploy直播课笔记
当天的直播课还是有点好事多磨的:https://www.bilibili.com/video/BV1684y1y7Fi/?spm_id_from=333.999.0.0
可能是两个直播系统之间打架还是别的原因,声音一开始串得厉害,很像 《源代码》、《明日边缘》里面无限循环的那个场景。张小白一度地切换到其他直播。。。。
不过,总算MM的MMDeploy的具体介绍还是非常精彩的!
没想到openMMLab在GitHub上很好很强大:https://github.com/open-mmlab/mmdeploy
当然,MMDeploy本来面对的也不只是昇腾CANN,它同样想支持各类硬件的场景。
目前支持的9个算法库为:
- mmcls:MMClassification,图像分类工具箱;
- 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负责将模型在各个硬件平台上执行。
再具体分析一下:
如上图所示:
模型应该大多是Pytorch的模型,使用torch2onnx变成了onnx格式的文件。再使用onnx2backend(比如对于CANN就是ATC)将其转换为中间的backend model,即CANN所需要的om离线模型。
转换过程中,还将会生成模型的一些Meta信息。
对于CANN而言,使用ACL,就可以对om模型进行推理了。
MMDeploy默认是安装支持c++的推理环境,但是如果安装参数中增加了Python的参数,也可以安装支持Python的推理环境。
下图是atc的具体介绍:可以实现 onnx模型转换为昇腾设备支持的om模型:
下图是acl(AscendCL)的具体介绍,它可以实现对om模型进行推理:
其中,右边描述了编写推理代码的套路。
下图是进一步讲解:
搭建MMDeploy昇腾环境的方法如下:
安装CANN 5.1RC2的CANN环境:
按照下图的方法依次执行:
直播中介绍了尝试 进行2种MMDeploy模型转换的方法:具体图中已经很清晰了,张小白就不废话了:
然后又介绍了对上面2种模型进行ACL推理的方法:
目前支持的模型列表如下表所示:
直播课还布置了作业:
(全文完,谢谢阅读)
- 点赞
- 收藏
- 关注作者
评论(0)