带你读《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

相关文章
|
2月前
|
机器学习/深度学习 存储 PyTorch
【深度学习】Pytorch torch.autograd 自动差分引擎
【1月更文挑战第10天】【深度学习】Pytorch torch.autograd 自动差分引擎
|
18天前
|
机器学习/深度学习 人工智能 自然语言处理
智能时代的引擎:深度学习与人工智能的未来
【6月更文挑战第13天】本文探讨了深度学习在推动人工智能发展中的核心作用,分析了其基本原理、关键技术和未来趋势。通过对深度学习模型的深入剖析,揭示了其在图像识别、自然语言处理等领域的应用潜力,并讨论了面临的挑战与机遇。
|
24天前
|
机器学习/深度学习 人工智能 自然语言处理
智能时代的引擎:深度学习技术解析
【6月更文挑战第8天】本文深入探讨了深度学习技术,一种基于人工神经网络的机器学习方法。我们将从其基本原理出发,分析其在数据处理、特征提取和模式识别方面的强大能力。文章将通过具体案例,展示深度学习在图像识别、自然语言处理等领域的应用,并讨论其面临的挑战与未来发展方向。
|
22天前
|
机器学习/深度学习 人工智能 算法
智能时代的引擎:深度学习技术在图像处理中的应用
本文深入探讨了深度学习在图像处理领域的应用,包括图像分类、目标检测、语义分割以及风格迁移等方面。文章首先介绍了深度学习技术的基本原理和发展历程,然后详细阐述了其在图像识别和处理中的具体实现方法和取得的成果。通过分析最新的研究进展和实际案例,本文展示了深度学习如何推动图像处理技术的发展,并讨论了当前面临的挑战与未来的发展趋势。
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
智能时代的引擎:深度学习与人工智能的未来
本文将探讨深度学习如何成为推动人工智能发展的关键技术,分析其原理、挑战以及未来趋势。我们将从基础概念入手,逐步深入到深度学习的高级应用,并讨论其在各行各业中的实际影响,最后预测深度学习技术未来的发展方向。
17 0
|
27天前
|
机器学习/深度学习 自然语言处理 算法
智能时代的引擎:深度学习技术解析
【6月更文挑战第5天】本文将深入探讨深度学习技术的基本原理、关键算法以及在多个领域的应用实例。我们将从神经网络的灵感来源谈起,逐步剖析反向传播、卷积神经网络等核心概念,并通过案例分析展示深度学习如何推动人工智能技术的边界不断扩展。
23 0
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习:推动人工智能的强大引擎
深度学习作为人工智能的核心引擎,正在以其强大的处理能力和出色的表现,推动着人工智能技术的发展。从计算机视觉到自然语言处理,从自动驾驶到医疗诊断,深度学习已经在众多领域展现出了其巨大的潜力。然而,在应用深度学习的同时,我们也需要持续关注其发展过程中所带来的挑战和机遇,以确保人工智能技术的可持续发展和创新。
84 1
|
2月前
|
机器学习/深度学习 存储 PyTorch
【深度学习】Pytorch torch.autograd 自动差分引擎
【1月更文挑战第26天】【深度学习】Pytorch torch.autograd 自动差分引擎
|
2月前
|
机器学习/深度学习 人工智能 PyTorch
【Hello AI】神龙AI加速引擎AIACC-加速深度学习应用
神龙AI加速引擎AIACC是基于阿里云IaaS资源推出的AI加速引擎,用于优化基于AI主流计算框架搭建的模型,使用AIACC可加速深度学习应用,能显著提升模型的训练和推理性能。
|
机器学习/深度学习 人工智能 自然语言处理
2023北京智源大会亮点回顾 | 高性能计算、深度学习和大模型:打造通用人工智能AGI的金三角
北京智源大会中黄铁军表示,从“第一性原理”出发,通过构建一个完整的智能系统AGI,从原子到有机分子到神经系统、到身体,实现通用人工智能。这是一个大概需要20年时间才能实现的目标。分别包括大模型方向、具身方向,以及智源自己期望方向的进展。