【嵌入式AI部署神经网络】STM32CubeIDE上部署神经网络之指纹识别(Pytorch)——篇一|环境搭建与模型初步部署篇

这篇具有很好参考价值的文章主要介绍了【嵌入式AI部署神经网络】STM32CubeIDE上部署神经网络之指纹识别(Pytorch)——篇一|环境搭建与模型初步部署篇。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:本篇主要讲解搭建所需环境,以及基于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上模拟部署一遍,若模拟成功,所选开发板就是可以的。

【嵌入式AI部署神经网络】STM32CubeIDE上部署神经网络之指纹识别(Pytorch)——篇一|环境搭建与模型初步部署篇,嵌入式人工智能开发,人工智能,神经网络,stm32

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的分辨率。

数据集在如下文件夹中

【嵌入式AI部署神经网络】STM32CubeIDE上部署神经网络之指纹识别(Pytorch)——篇一|环境搭建与模型初步部署篇,嵌入式人工智能开发,人工智能,神经网络,stm32

【嵌入式AI部署神经网络】STM32CubeIDE上部署神经网络之指纹识别(Pytorch)——篇一|环境搭建与模型初步部署篇,嵌入式人工智能开发,人工智能,神经网络,stm32

【嵌入式AI部署神经网络】STM32CubeIDE上部署神经网络之指纹识别(Pytorch)——篇一|环境搭建与模型初步部署篇,嵌入式人工智能开发,人工智能,神经网络,stm32

生成测试集的方法:文章来源地址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模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 算法在嵌入式端的部署与优化

    我创作这篇博客的目的是记录学习技术过程中的笔记。希望通过分享自己的学习经历,能够帮助到那些对相关领域感兴趣或者正在学习的人们。 1.参考资源 1.神经网络的压缩算法:6种神经网络的压缩方法 2.深度学习推理架构:主流的深度学习推理架构、AI模型部署落地综述(

    2024年04月28日
    浏览(26)
  • 网络-IP地址(嵌入式学习)

    IP地址是Internet中主机的标识 IP地址(Internet Protocol Address 互联网国际地址)是一种在Internet上的给主机编址的方式,它主要是为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。 IP地址为32位(IPv4)或者128位(IPv6) IPV4地址由网络号与主机

    2023年04月19日
    浏览(31)
  • 嵌入式学习day34 网络

    TCP包头: 1.序号:发送端发送数据包的编号 2.确认号:已经确认接收到的数据的编号(只有当ACK为1时,确认号才有用) TCP为什么安全可靠: 1.在通信前建立三次握手连接     SYN     SYN+ACK      ACK  2.在通信过程中通过序列号和确认号保障数据传输的完整性     本次发送序列号:上次收

    2024年03月10日
    浏览(33)
  • AI嵌入式K210项目(5)-串口通讯

    串口通讯是平时大家进行调试最常用的方法,嵌入式应用通常要求一个简单的并且占用系统资源少的方法来传输数据。通用异步收发传输器 (UART)即可以满足这些要求,它能够灵活地与外部设备进行全双工数据交换,那么本章我们来了解下,本节课主要学习K210的串口通讯。 串

    2024年01月16日
    浏览(49)
  • AI嵌入式K210项目(24)-口罩检测

    本节课主要学习口罩检测功能,将摄像头采集的画面分析,比对模型,分析是否佩戴口罩,打印出佩戴口罩的状态 请先将模型文件导入内存卡上,再将内存卡插入到K210开发板的内存卡插槽上,具体操作步骤请参考: AI嵌入式K210项目(21)-AI模型文件导入至TF卡 本实验使用/

    2024年02月20日
    浏览(51)
  • 上位机图像处理和嵌入式模块部署(开篇)

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         图像处理是现实生活当中很实用的一门技术。工业上一般采用的是机器视觉,以传统算法和光源控制为主,部分采用了深度学习技术。而生活当中,则主要以二维码识别、人脸识别、

    2024年01月22日
    浏览(43)
  • 嵌入式开发——文件系统部署rz、sz命令

    下载网址:https://ohse.de/uwe/software/lrzsz.html (1)报错显示在编译sz、rz命令时还依赖libnsl.so库,当前编译时找不到libnsl库; (2)libnsl是Unix/Linux系统下的一个开源C语言库,全称为“network services library”,提供了对许多网络服务程序的网络接口调用。其主要功能包括获取主机名、网络

    2024年02月07日
    浏览(54)
  • 【嵌入式AI】CanMVk230开发板学习笔记(一)

    嵌入式AI学习:CanMVk230开发板学习笔记 官方链接: k230快速入门 github固件下载地址: https://github.com/kendryte/k230_canmv/releases K230的相关软硬件资料,请参考 https://developer.canaan-creative.com/k230/dev/index.html https://gitee.com/kendryte/k230_docs https://space.bilibili.com/677429436 https://gitee.com/kendryte/k2

    2024年01月20日
    浏览(40)
  • AI嵌入式K210项目(14)-TF卡读取

    本章介绍一些读取TF卡的方法,本章内容和前面的项目非常类似,都是采用了SPI接口AI嵌入式K210项目(11)-SPI Flash读写 TF有4个数据传输端,DAT0,DAT1,DAT2,DAT3。还有一个CMD脚,是用来读取卡内信息的。 TF卡主要管脚的功能: CLK:时钟信号,每个时钟周期传输一个命令或数据

    2024年01月23日
    浏览(38)
  • 上位机图像处理和嵌入式模块部署(自定义算法)

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         我们在使用opencv的时候,虽然大部分算法都不需要我们自己重头开始编写,但是总有一些关于我们自己产品的know-how,是之前库里本来就不存在的。所以,这个时候,我们还是希望

    2024年01月24日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包