带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(4) https://developer.aliyun.com/article/1248035?groupCode=taobaotech
表达式
MNN 需要对接各种训练框架导出的模型格式,有如下特点:
1. 训练框架随版本变迁会有不同的导出格式
2. 训练框架随版本变迁有大量的算子新增与修改
3. 不同训练框架的算子重合度高,但不完全一样
为了抹平训练框架不同的差异,比较明确的做法就是定义MNN自己一套算子并实现前端,基于基于此对接各个训练框架
这个 MNN 的前端就是表达式模块,对应的 MNN 模型转换流程优化如下:
由于 AI 模型的算子数逐渐丰富,推理引擎(或称张量计算引擎)与图像处理和数值计算正在趋同,如 Tensorflow 实现了 numpy 库,OpenCV 也通过 GAPI 的方式,将图像处理表示为计算图,由内置的张量计算引擎实现。
MNN 也基于表达式去实现了 Numpy 和 OpenCV 常用功能,详细见下文。
带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(6) https://developer.aliyun.com/article/1248033?groupCode=taobaotech