前言:本篇主要讲解搭建所需环境,以及基于pytorch框架在stm32cubeide上部署神经网络,部署神经网络到STM32单片机,本篇实现初步部署模型,没有加入训练集与验证集,将在第二篇加入。篇二详细讲解STM32CubeIDE上部署神经网络之指纹识别(Pytorch)的数据准备和模型训练过程等,进行实战,第二篇在本专栏查阅。
目录
1. 环境安装和配置
2. AI神经网络模型搭建
2.1 数据集介绍
2.2 网络模型
2.3 训练
3. STM32CubeIDE上进行模型转换与模型部署到单片机
4. STM32 CubeUDE上进行模型验证
5. 结果统计与分析
1. 环境安装和配置
本文介绍在STM32cubeIDE上部署AI模型,开发板型号STM32F429IGT6。
与AI加速器不同,ST支持神经网络计算是因为之前的芯片已经内置了DSP处理器,可以执行高精度浮点运算,正好可以拿来做神经网络计算。如何判断自己准备购买的板子适不适合做AI计算,最好也按以下步骤在CUBE-AI上模拟部署一遍,若模拟成功,所选开发板就是可以的。
STM32cubeIDE可直接在ST官网下载,下载链接
https://www.st.com/zh/development-tools/stm32cubeide.html
默认安装即可,不懂可自行上网查教程。
2. AI神经网络模型搭建
2.1 数据集介绍
针对tinyML开发了自己的指纹识别数据集,数据集和完整代码见文末下载链接。指纹识别数据集包含100个类别,大小为260*260,训练集30张,测试集5张。在测试时使用128*128与64*64的分辨率。
数据集在如下文件夹中
文章来源:https://www.toymoban.com/news/detail-857597.html
生成测试集的方法:文章来源地址https://www.toymoban.com/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
到了这里,关于【嵌入式AI部署神经网络】STM32CubeIDE上部署神经网络之指纹识别(Pytorch)——篇一|环境搭建与模型初步部署篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!