MCU怎么運行深度學習模型

Gitee倉庫

git clone https://gitee.com/banana-peel-x/freedom-learn.git

項目場景:

解決面試時遺留的問題,面試官提了兩個問題:1.單片機能跑深度學習的模型嗎? 2.為什么FreeRTOS要采用SVC去觸發第一個任務,只用PendSV中斷切換不行嗎?(問題二后續研究) 問題一:當時回答的是理論上單片機掛載NPU,把數據發送給NPU的協議定好,理論上也是可以的。 本項目就從輪子出發,不借助任何庫,嘗試小RAM MCU部署神經網絡的方法。分別在MCU和PC端進行了嘗試。技術棧:多層網絡感知機(MLP),正反向傳播,梯度下降法。模型量化部署。結論:MCU受限于主頻速率,小RAM,在推理時間,模型大小方面均存在限制,即使使用硬件加速的NPU,速率也沒有優勢。


軟件架構

MCU端: 兩個Task,StartDefaultTask控制LED,觀察系統有沒有掛掉。StartTask_50ms里運行reason_task,執行時機通過flag_uart1_received變量判斷ReceiverState狀態,flag_uart1_received變量在Uart中斷切換狀態。 PC端: reasoning.py運行兩個線程,主線程負責PC端的推理,send_image_over_uart線程通過Uart發送圖像,并監聽下位機的推理結果。

NeuralNetworkFromScratch-main\train.py:使用MLP訓練一組權重參數,保存到文件\result\model_parameters.npz,后在終端隨機輸入圖片序號,進行預測,預測結果在數字上方,方便比較。
NeuralNetworkFromScratch-main\result\Tools.py:從model_parameters.npz文件中load權重參數,寫入model_parameters.c文件
NeuralNetworkFromScratch-main\result\quantization.py:將model_parameters.npz提取權重參數,量化為int8類型,后寫入quantized_model_parameters.c文件
NeuralNetworkFromScratch-main\result\reasoning.py:核心文件,加載量化后的參數,對權重參數反量化后推理,同時send_image_over_uart線程發送圖像數據給MCU

運行reasoning.py后,選擇圖片序號,終端打印預測概率,關閉窗口后send_image_over_uart線程發送圖像給MCU端,發送完成后會監聽下位機返回數據,并在終端打印。
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述


細節:

1.不量化行不行:STM32F103C8T6又64K的ROM和20K的RAM,不量化權重參數會占用:(784x10+10+10x10+10)x4=31840 Bytes=31KB。量化后權重參數占用空間:7.7KB。
2.為什么網絡參數是 輸入層到隱藏層10個神經元,隱藏層到輸出層10個神經元,原始網絡分別是20,10。這樣的話很容易超出RAM大小。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/904525.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/904525.shtml
英文地址,請注明出處:http://en.pswp.cn/news/904525.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

多模態學習(一)——從 Image-Text Pair 到 Instruction-Following 格式

前言 在多模態任務中(例如圖像問答、圖像描述等),為了使用指令微調(Instruction Tuning)提升多模態大模型的能力,我們需要構建成千上萬條**指令跟隨(instruction-following)**格式的…

MySQL基礎關鍵_011_視圖

目 錄 一、說明 二、操作 1.創建視圖 2.創建可替換視圖 3.修改視圖 4.刪除視圖 5.對視圖內容的增、刪、改 (1)增 (2)改 (3)刪 一、說明 只能將 DQL 語句創建為視圖;作用: …

『深夜_MySQL』數據庫操作 字符集與檢驗規則

2.庫的操作 2.1 創建數據庫 語法: CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,create_specification]….]create_spcification:[DEFAULT] CHARACTER SET charset_nam[DEFAULT] COLLATE collation_name說明: 大寫的表示關鍵字 …

Spark jdbc寫入崖山等國產數據庫失敗問題

隨著互聯網、信息產業的大發展、以及地緣政治的變化,網絡安全風險日益增長,網絡安全關乎國家安全。因此很多的企業,開始了國產替代的腳步,從服務器芯片,操作系統,到數據庫,中間件,逐步實現信息技術自主可控,規避外部技術制裁和風險。 就數據庫而言,目前很多的國產數據…

數字化轉型-4A架構之應用架構

系列文章 數字化轉型-4A架構(業務架構、應用架構、數據架構、技術架構)數字化轉型-4A架構之業務架構 前言 應用架構AA(Application Architecture)是規劃支撐業務的核心系統與功能模塊,實現端到端協同。 一、什么是應…

格雷狼優化算法`GWO 通過模擬和優化一個信號處理問題來最大化特定頻率下的功率

這段代碼是一個Python程序,它使用了多個科學計算庫,包括`random`、`numpy`、`matplotlib.pyplot`、`scipy.signal`和`scipy.signal.windows`。程序的主要目的是通過模擬和優化一個信號處理問題來最大化特定頻率下的功率。 4. **定義類`class_model`**: - 這個類包含了信號…

中級網絡工程師知識點1

1.1000BASE-CX:銅纜,最大傳輸距離為25米 1000BASE-LX:傳輸距離可達3000米 1000BASE-ZX:超過10km 2.RSA加密算法的安全性依賴于大整數分解問題的困難性 3.網絡信息系統的可靠性測度包括有效性,康毀性,生存性 4.VLAN技術所依據的協議是IEEE802.1q IEEE802.15標準是針…

2025年五一數學建模A題【支路車流量推測】原創論文講解

大家好呀,從發布賽題一直到現在,總算完成了2025年五一數學建模A題【支路車流量推測】完整的成品論文。 給大家看一下目錄吧: 摘 要: 一、問題重述 二.問題分析 2.1問題一 2.2問題二 2.3問題三 2.4問題四 2.5 …

性能優化實踐:渲染性能優化

性能優化實踐:渲染性能優化 在Flutter應用開發中,渲染性能直接影響用戶體驗。本文將從渲染流程分析入手,深入探討Flutter渲染性能優化的關鍵技術和最佳實踐。 一、Flutter渲染流程解析 1.1 渲染流水線 Flutter的渲染流水線主要包含以下幾…

linux基礎學習--linux磁盤與文件管理系統

linux磁盤與文件管理系統 1.認識linux系統 1.1 磁盤組成與分區的復習 首先了解磁盤的物理組成,主要有: 圓形的碟片(主要記錄數據的部分)。機械手臂,與在機械手臂上的磁頭(可擦寫碟片上的內容)。主軸馬達,可以轉動碟片,讓機械手臂的磁頭在碟片上讀寫數據。 數據存儲…

DIFY教程第五彈:科研論文翻譯與SEO翻譯應用

科研論文翻譯 我可以在工作流案例中結合聊天大模型來實現翻譯工具的功能,具體的設計如下 在開始節點中接收一個輸入信息 content 然后在 LLM 模型中我們需要配置一個 CHAT 模型,這里選擇了 DeepSeek-R1 64K 的聊天模型,注意需要在這里設置下…

【Redis】哨兵機制和集群

🔥個人主頁: 中草藥 🔥專欄:【中間件】企業級中間件剖析 一、哨兵機制 Redis的主從復制模式下,一旦主節點由于故障不能提供服務,需要人工的進行主從切換,同時需要大量的客戶端需要被通知切換到…

注意力機制(Attention)

1. 注意力認知和應用 AM: Attention Mechanism,注意力機制。 根據眼球注視的方向,采集顯著特征部位數據: 注意力示意圖: 注意力機制是一種讓模型根據任務需求動態地關注輸入數據中重要部分的機制。通過注意力機制&…

解鎖 AI 生產力:Google 四大免費工具全面解析20250507

🚀 解鎖 AI 生產力:Google 四大免費工具全面解析 在人工智能迅猛發展的今天,Google 推出的多款免費工具正在悄然改變我們的學習、工作和創作方式。本文將深入解析四款代表性產品:NotebookLM、Google AI Studio、Google Colab 和 …

知識圖譜:AI大腦中的“超級地圖”如何煉成?

人類看到“蘋果”一詞,會瞬間聯想到“iPhone”“喬布斯”“牛頓”,甚至“維生素C”——這種思維跳躍的背后,是大腦將概念連結成網的能力。而AI要模仿這種能力,需要一張動態的“數字地圖”來存儲和鏈接知識,這就是?知識…

Win11 24H2首個熱補丁下周推送!更新無需重啟

快科技5月7 日消息,微軟宣布,Windows 11 24H2的首個熱補丁更新將于下周通過Patch Tuesday發布,將為管理員帶來更高效的安全更新部署方式,同時減少設備停機時間。 為幫助IT管理員順利過渡到熱補丁模式,微軟還提供了豐富…

【Python類(Class)完全指南】面向對象編程入門

目錄 🌟 前言🧩 技術背景與價值🚧 當前技術痛點🛠? 解決方案概述👥 目標讀者說明 📚 一、技術原理剖析🎨 核心概念圖解💡 核心作用講解 💻 二、實戰演示🛠?…

全自動輿情監控系統實現方案

想要通過代碼實現全自動的全網輿情監控,還要用代理來輔助。全自動的話,可能是指從數據抓取、處理到分析都不需要人工干預。全網輿情監控意味著要覆蓋多個平臺,比如新聞網站、社交媒體、論壇等等。代理的使用可能是為了繞過反爬蟲機制&#xf…

【Linux 系統調試】Linux 調試工具strip使用方法

? 目錄 ? 一. strip 工具的定義與核心作用? ?1. strip 是什么?? 2. strip 工具調試符號的作用? 3. strip 工具調試符號的重要性? 二. 如何確認文件是否被 strip 處理?? 1. 通過 file 命令檢查文件狀態 2. strip 的典型用法? ?基礎命…

多模態大模型輕量化探索-開源SmolVLM模型架構、數據策略及其衍生物PDF解析模型SmolDocling

在《多模態大模型輕量化探索-視覺大模型SAM的視覺編碼器》介紹到,縮小視覺編碼器的尺寸,能夠有效的降低多模態大模型的參數量。再來看一個整體的工作,從視覺側和語言模型側綜合考量模型參數量的平衡模式,進一步降低參數量&#xf…