深度学习框架Mnn介绍及其在单片机上的简单应用

深度学习框架Mnn介绍及其在单片机上的简单应用

Mnn是一款轻量级的深度学习框架,能够支持多种平台(包括单片机),具有较高的性能和灵活性。本文将介绍如何在单片机上使用Mnn进行深度学习推理,并提供相关源代码。

步骤一:Mnn编译

Mnn的编译需要用到cmake、protobuf等工具和库,在编译之前需要确保这些工具已经正确安装在电脑上。接下来,我们可以从Mnn的官方Git仓库中下载最新版本的代码(https://github.com/alibaba/MNN),并在终端中运行以下命令:

cd MNN
mkdir build
cd build
cmake .. -DMNN_BUILD_SHARED_LIBS=OFF -DMNN_AAPL_FMWK=OFF -DMNN_TENSORRT=OFF -DMNN_METAL=OFF -DMNN_OPENCL=OFF
make -j4
sudo make install 

这里我们将-MNN_BUILD_SHARED_LIBS参数设置为OFF,表示编译为静态库;-DMNN_AAPL_FMWK、-DMNN_TENSORRT、-DMNN_METAL、-DMNN_OPENCL参数均为OFF,表示不使用苹果、TensorRT、Metal和OpenCL加速器。

步骤二:模型转换

在将深度学习模型上传到单片机之前,需要将其转换为Mnn模型格式。可以使用Mnn提供的Python脚本进行转换,具体代码如下:

import os
import sys
import argparse
import numpy as np
from PIL import Image
impor
浅析移动终端深度学习推理框架之MNN MNN是一种深度学习的开源推理引擎,全称是"Mobile Neural Network",主要用于在移动设备和嵌入式设备上执行深度神经网络模型的推理任务。它支持跨平台的推理引擎API,可以运行在不同的硬件设备上,包括Android、iOS、Linux 和 Windows 等系统。 阅读详情

相关推荐

MNN:轻量级深度学习推理框架的优雅之选

MNN作为一款轻量级深度学习推理框架,凭借其高效性能、易用性和灵活扩展性,成为了众多开发者的首选。通过本文的介绍,相信您已经对MNN有了更深入的了解。无论是移动端应用开发还是深度学习模型部署,MNN都能为您提供优雅而高效的解决方案。让我们一起领略MNN带来的深度学习推理之美吧!在人工智能和深度学习飞速发展的今天,选择一款合适的推理框架至关重要。MNN以其卓越的性能和易用性,为开发者提供了强大的支持。相信在不久的将来,MNN将会在更多领域发挥重要作用,推动深度学习技术的广泛应用和发展。

学海无涯苦作舟的博客 1360

嵌入式工程师转型端侧AI部署:Linux+推理框架实战路线

端侧AI部署是当前嵌入式领域的热门方向,涉及模型量化、推理框架集成与性能调优等核心技术。其原理在于将训练好的模型经过转换、压缩后,在资源受限的嵌入式设备上高效运行,从而满足低延迟、低带宽、高隐私的本地推理需求。掌握Linux环境下的NCNN、TFLite等推理框架,结合INT8量化与NEON优化,可显著提升推理速度并降低内存占用。该技术广泛应用于智能家居、工业视觉、智能座舱与机器人等场景。对于3到8年经验的嵌入式工程师,从Linux和端侧AI部署切入,是发挥底层硬件优势、避开算法岗学历门槛的高性价比路径。

weixin_29171129的博客 295

别只盯着驱动开发了!聊聊嵌入式+AI/异构计算这些年薪50W+的新岗位

本文探讨了嵌入式+AI/异构计算这一新兴技术领域的高价值岗位,揭示了年薪50W+的职业机会。文章详细分析了AI算子优化工程师、AI编译器开发工程师和FPGA加速架构师等岗位的技术要求与薪资水平,并提供了从传统嵌入式开发转型的实践路径与核心技能栈。

weixin_31476015的博客 350

嵌入式四大方向详解:裸机、RTOS、Linux与AI选型指南

从嵌入式系统的底层原理出发,解析MCU裸机开发、RTOS实时系统、嵌入式Linux和嵌入式AI四大技术方向的差异与联系。由基础概念到内核调度,从寄存器操作到边缘推理,逐步揭示各方向的核心技术栈与适用场景。无论你是初学嵌入式C语言、准备嵌入式八股文,还是想深入嵌入式Linux内核源码或部署嵌入式AI模型,本文都提供清晰的学习路径与选型决策框架。结合真实项目经验与高频面试问题,帮助你避开常见误区,找到适合自己的嵌入式发展方向。

weixin_34391445的博客 409

从5V降到3.3V,你的LDO到底有多烫?手把手算功耗、选散热,避开这些坑

本文详细解析了LDO在5V转3.3V电路中的发热问题,提供了精确的功耗计算公式和散热设计方法。通过对比不同封装的热阻参数和优化PCB布局,帮助工程师有效降低LDO温度,避免热保护触发。文章还探讨了替代方案的技术拐点,为电源系统优化设计提供实用指导。

weixin_30304375的博客 436

戴尔笔记本装Ubuntu 20.04,别急着分区!先搞定这个BIOS设置(Intel RST避坑指南)

本文详细介绍了在戴尔笔记本上安装Ubuntu 20.04时遇到的Intel RST技术兼容性问题及解决方案。通过安全切换至AHCI模式,避免安装过程中找不到硬盘的常见问题,并提供双系统分区策略和安装后的优化建议,确保Ubuntu与Windows 10双系统稳定运行。

weixin_31315567的博客 272

linux 4.19在龙芯平台上编译出错解决方法

OS: Loongnix server 1.7 工具链为:系统自带的gcc-4.8.5 和 gcc-7.3 平台:3A3000/3A4000 源码:kernel: 4.19 编译步骤 ··· make loongson3_defconfig make -j4 ··· 出错信息: HOSTCC arch/mips/boot/compressed/calc_vmlinuz_load_addr arch/mips/boot/compressed/head.S: Assembler messages: arch/m

sense的专栏 1125

.NET+Vue企业级RBAC权限平台:开箱即用的生产就绪方案

RBAC(基于角色的访问控制)是企业系统安全治理的基础模型,其核心在于将用户、角色与权限解耦,通过动态能力组合实现细粒度管控。在真实工程中,RBAC需突破静态角色限制,支持时间维度授权、前后端双重鉴权、行级数据范围控制等关键能力。本文聚焦于一套已落地金融、政务、制造等多行业的生产级实现——基于.NET Minimal API与Vue 3的前后端分离架构,提供菜单/按钮/接口/数据四层权限控制,内置滑动过期JWT、Redis权限缓存、动态路由加载与权限指令等开箱即用能力,显著降低权限配置与审计成本。

weixin_33326218的博客 276

SIMPLIS实战:从零构建理想BUCK电路,精准计算与POP稳态分析

本文详细介绍了如何使用SIMPLIS软件从零开始构建并仿真一个理想的BUCK降压电路。通过设定关键参数、计算理想器件值,并搭建仿真模型,文章重点演示了暂态仿真以观察电路上电过程,并深入讲解了高效的POP(周期性工作点)稳态分析技术,帮助工程师快速验证设计、评估稳态性能,从而加速电源设计迭代。

weixin_29165465的博客 396

解决Windows 11文件右键菜单卡死问题的方法

当你右键点击一个文件或者文件夹时,系统会加载与该文件类型相关的上下文菜单项,如果其中某个菜单项的代码执行时间过长或者出现错误,就会导致整个右键菜单卡死。综上所述,当你在Windows 11中遇到右键菜单卡死的问题时,你可以尝试禁用上下文菜单项、重置文件关联、排除第三方软件干扰、修复系统文件以及优化代码等方法来解决问题。如果你是一个开发者,并且你自己编写了一个上下文菜单项,那么问题可能出在你的代码中。例如,如果你遇到了图片文件的右键菜单卡死问题,你可以找到".jpg"或".png"等相关的子项。

HnrzLinux的博客 7536

微信小程序 - 解决支付报错 requestPayment:fail access denied (微信支付提示错误requestPayment:拒绝访问失败,真机运行测试或打包编译上线后报错问题)

微信小程序,微信支付,wx.requestPayment,微信小程序支付报错requestPayment:fail access denied,调不起微信,无法唤起支付弹窗,支付失败,支付权限没问题,小程序上线后支付报错,小程序真机测试支付报错,微信小程序苹果ios系统手机无法支付,小程序发布上线后支付报错,本地测试没问题,拒绝访问失败,小程序调起支付API requestPayment:fail:access denied微信开发者工具正常支付,权限没问题,微信公众平台,依旧报错怎么办,检查了appid都

🏆 前端领域优质创作者 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: 优化Regmap的使用方法,助您轻松应对单片机编程
下一篇: 单片机系统代码修改标准
普通网友
博客等级 码龄4年 1011粉丝 1742原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编码实践

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值