带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(12)

简介: 带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(12)

带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(11) https://developer.aliyun.com/article/1248025?groupCode=taobaotech



易用性


MNN在针对端侧开发的特点,在具有高性能与轻量性的同时还具有针对算法人员非常友好的易用性。MNN提供的Python部分接口不仅具备MNN模型推理的基础能力,同时还提供了算法开发人员在前后处理中使用频率最高的基础库numpy与opencv的能力,用户在移动端仅使用MNN便可以完成全套算法的迁移与部署。


MNN移动端Python


MNN的Python接口提供的能力如下:

1. MNN:提供模型加载,推理能力;

2. MNN.expr:提供MNN的基础计算能力,动态构图能力;

3. MNN.numpy:提供与numpy用法一致的部分numpy函数;

4. MNN.opencv:提供与cv2用法一致的部分opencv函数;

5. 其中MNN与MNN.expr为MNN的核心能力;MNN.numpy和MNN.opencv是基于MNN的核心能力进行的扩展功能,在用法上更加贴近算法常用库,在实现上复用MNN核心功能;低成本(200K内)大幅降低算法部署难度。


算法部署实例


使用以上能力可以将服务端代码便捷的迁移到移动端而不依赖其他Python库,代码如下:


import MNN
import MNN.cv as cv2
import MNN.numpy as np
def inference(model_path, img_path):
 net = MNN.nn.load_module_from_file(model_path, ["data"], ["prob"])
 image = cv2.imread(img_path)
 image = image[..., ::-1]
 image = cv2.resize(image, (224, 224))
 image = image - (103.94, 116.78, 123.68)
 image = image * (0.017, 0.017, 0.017)
 image = image.astype(np.float32)
 input_var = MNN.expr.convert(image, MNN.expr.NC4HW4)
 output_var = net.forward(input_var)
 output_var = MNN.expr.convert(output_var, MNN.expr.NHWC)
 print("output belong to class: {}".format(np.argmax(output_var)))


在移动端能够仅使用MNN便可以无缝部署服务端的算法,Python化部署对于算法工程师具有非常高的易用性,同时还具有更好的动态性,方便算法的热更新,热修复等;降低了端侧算法部署门坎,提升了端侧算法部署的效率。




带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(13) https://developer.aliyun.com/article/1248023?groupCode=taobaotech

相关文章
|
1月前
|
机器学习/深度学习 存储 人工智能
MNN:阿里开源的轻量级深度学习推理框架,支持在移动端等多种终端上运行,兼容主流的模型格式
MNN 是阿里巴巴开源的轻量级深度学习推理框架,支持多种设备和主流模型格式,具备高性能和易用性,适用于移动端、服务器和嵌入式设备。
343 18
MNN:阿里开源的轻量级深度学习推理框架,支持在移动端等多种终端上运行,兼容主流的模型格式
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习之人类水平的语言推理
基于深度学习的人类水平的语言推理,是当前自然语言处理(NLP)和人工智能领域的重要研究方向之一。语言推理的核心在于理解语言中蕴含的复杂语义和逻辑关系,并根据上下文进行推断。
59 3
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习之复杂推理与逻辑学习
基于深度学习的复杂推理与逻辑学习是当前人工智能领域中的一个前沿研究方向,旨在结合深度学习与传统逻辑推理的优势,使机器能够在处理复杂任务时具备更强的推理能力。
67 2
|
5月前
|
机器学习/深度学习 监控 并行计算
深度学习之生物网络推理
基于深度学习的生物网络推理利用深度学习技术来解析和理解生物网络(如基因调控网络、代谢网络、蛋白质-蛋白质相互作用网络等)的复杂关系和动态行为。
63 5
|
6月前
|
机器学习/深度学习 自然语言处理 自动驾驶
深度学习之知识推理与深度学习结合
基于深度学习的知识推理是将深度学习模型与传统的知识表示和推理技术相结合,以实现更加智能和高效的决策和预测能力。
109 2
|
25天前
|
机器学习/深度学习 运维 安全
深度学习在安全事件检测中的应用:守护数字世界的利器
深度学习在安全事件检测中的应用:守护数字世界的利器
72 22
|
2月前
|
机器学习/深度学习 传感器 数据采集
深度学习在故障检测中的应用:从理论到实践
深度学习在故障检测中的应用:从理论到实践
204 6
|
4天前
|
机器学习/深度学习 人工智能 运维
深度学习在流量监控中的革命性应用
深度学习在流量监控中的革命性应用
67 40
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习的原理与应用:开启智能时代的大门
深度学习的原理与应用:开启智能时代的大门
201 16
|
2月前
|
机器学习/深度学习 网络架构 计算机视觉
深度学习在图像识别中的应用与挑战
【10月更文挑战第21天】 本文探讨了深度学习技术在图像识别领域的应用,并分析了当前面临的主要挑战。通过研究卷积神经网络(CNN)的结构和原理,本文展示了深度学习如何提高图像识别的准确性和效率。同时,本文也讨论了数据不平衡、过拟合、计算资源限制等问题,并提出了相应的解决策略。
109 19