前言:本篇主要講解搭建所需環(huán)境,以及基于pytorch框架在stm32cubeide上部署神經(jīng)網(wǎng)絡(luò),部署神經(jīng)網(wǎng)絡(luò)到STM32單片機(jī),本篇實現(xiàn)初步部署模型,沒有加入訓(xùn)練集與驗證集,將在第二篇加入。篇二詳細(xì)講解STM32CubeIDE上部署神經(jīng)網(wǎng)絡(luò)之指紋識別(Pytorch)的數(shù)據(jù)準(zhǔn)備和模型訓(xùn)練過程等,進(jìn)行實戰(zhàn),第二篇在本專欄查閱。
目錄
1. 環(huán)境安裝和配置
2.?AI神經(jīng)網(wǎng)絡(luò)模型搭建
2.1 數(shù)據(jù)集介紹
2.2?網(wǎng)絡(luò)模型
2.3?訓(xùn)練
3.?STM32CubeIDE上進(jìn)行模型轉(zhuǎn)換與模型部署到單片機(jī)
4.?STM32 CubeUDE上進(jìn)行模型驗證
5.?結(jié)果統(tǒng)計與分析
1. 環(huán)境安裝和配置
本文介紹在STM32cubeIDE上部署AI模型,開發(fā)板型號STM32F429IGT6。
與AI加速器不同,ST支持神經(jīng)網(wǎng)絡(luò)計算是因為之前的芯片已經(jīng)內(nèi)置了DSP處理器,可以執(zhí)行高精度浮點運算,正好可以拿來做神經(jīng)網(wǎng)絡(luò)計算。如何判斷自己準(zhǔn)備購買的板子適不適合做AI計算,最好也按以下步驟在CUBE-AI上模擬部署一遍,若模擬成功,所選開發(fā)板就是可以的。
STM32cubeIDE可直接在ST官網(wǎng)下載,下載鏈接
https://www.st.com/zh/development-tools/stm32cubeide.html
默認(rèn)安裝即可,不懂可自行上網(wǎng)查教程。
2.?AI神經(jīng)網(wǎng)絡(luò)模型搭建
2.1 數(shù)據(jù)集介紹
針對tinyML開發(fā)了自己的指紋識別數(shù)據(jù)集,數(shù)據(jù)集和完整代碼見文末下載鏈接。指紋識別數(shù)據(jù)集包含100個類別,大小為260*260,訓(xùn)練集30張,測試集5張。在測試時使用128*128與64*64的分辨率。
數(shù)據(jù)集在如下文件夾中
文章來源:http://www.zghlxwxcb.cn/news/detail-857597.html
生成測試集的方法:文章來源地址http://www.zghlxwxcb.cn/news/detail-857597.html
import os
import numpy as np
from PIL import Image
import torchvision.transforms as transforms
normalize = transforms.Normalize(mean=[0.5],std=[0.5])
test_transforms = transforms.Compose([
# transforms.RandomResizedCrop(224),
transforms.Resize(128),
transforms.ToTensor(),
normalize])
def prepare_eval_data(data_file, transform=None):
datas = os.listdir(data_file)
imgs=[]
labels=[]
for img_path in datas:
data = Image.open(data_file + '/' + img_path) # 260*260*1
label, _ = img_path.split('_')
label = int(label) - 1
labe
到了這里,關(guān)于【嵌入式AI部署神經(jīng)網(wǎng)絡(luò)】STM32CubeIDE上部署神經(jīng)網(wǎng)絡(luò)之指紋識別(Pytorch)——篇一|環(huán)境搭建與模型初步部署篇的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!