602|6

18

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

《深度学习》读后感1:深度学习在单片机上的应用知识点 [复制链接]

此次有幸申请到《深度学习》一书,在为期三周的时间内进行了阅读,由于本人之前是利用单片机进行开发,所以希望能够获取一些单片机上进行机器学习的相关知识。本书中对于深度学习内容的阐述较为生动形象,引用了许多贴近生活的示例,让人可以直观地感受深度学习的原理。通过阅读并且查阅资料,我希望和大家分享一下我所关注问题的一些收获,首先是对于机器学习中数据集获取的解决办法。通常我们在训练时需要有一定的数据才能完成,而此前通常都需要人工去产生数据集以满足使用需求。通过学习与查阅,还了解到以下的获取方法:

公开数据集:许多研究机构和大学会发布一些标准的公开数据集,这些数据集通常经过清洗和标注,适合用于学术研究和教育目的。例如,MNIST数据集是手写数字识别的入门级数据集,CIFAR-10和CIFAR-100是常用的图像识别数据集,ImageNet是一个大规模的图像识别数据集,而Pascal VOC则常用于对象检测和图像分割任务。

网络爬虫:可以通过编写网络爬虫程序从互联网上抓取数据,这种方法可以获得大量数据,但需要处理数据的不确定性和质量问题。

数据平台:一些数据平台如Kaggle、Google Dataset Search、AWS Public Datasets等提供了大量的数据集,这些数据集覆盖了各种领域和应用。

平时在进行项目开发时,有一些情况下需要对单片机部署机器学习模型,通常使用STM32Cube.AI来进行模型转换和代码生成。对于我自己使用单片机进行机器学习时,也了解了一些需要注意的地方用来优化性能,比如可以通过以下方式:使用位操作代替算术操作:位操作通常比算术操作更快,例如使用位与、位或、位异或等操作来处理标志位,或者使用位移操作来替代乘除法。避免不必要的操作:去除代码中不必要的变量赋值和函数调用,减少程序的复杂性和执行时间。控制数据类型大小:尽量使用较小的数据类型,如charint,而不是float,因为浮点数运算通常需要更多的CPU周期和内存空间。利用硬件资源:例如,使用DMA(直接内存访问)来传输数据,减少CPU负载,或者利用单片机的硬件加速器(如果存在)来执行特定任务。自加、自减指令:使用i++i--等自增自减操作,因为某些编译器对这些操作进行了优化,效率更高优化算法:选择或设计适合单片机资源限制的算法,例如使用简单的线性回归而不是复杂的神经网络模型。代码重用:通过函数或宏来重用代码,减少代码冗余,提高代码的可维护性。寄存器优化:将频繁使用的变量存储在寄存器中,以加快访问速度。指令流水线优化:通过合理组织代码,使得指令可以并行执行,提高执行效率。内存优化:优化数据结构和内存使用,减少内存碎片,提高内存访问速度。中断优化:合理配置中断,减少中断处理程序的复杂性,确保中断服务例程尽可能简短。模型优化:在模型训练阶段,可以通过模型压缩、量化等技术减小模型大小,使其更适合在单片机上运行。

不知道有无同行对于使用单片机进行机器学习模型部署有丰富的经验,希望可以交流学习,在这方面我还较为生疏。

此帖出自stm32/stm8论坛

最新回复

多谢分享!多谢分享!多谢分享!多谢分享!多谢分享!   详情 回复 发表于 2024-9-20 14:41
点赞 关注
 

回复
举报

55

帖子

1

TA的资源

一粒金砂(中级)

沙发
 

感谢分享!感谢分享!感谢分享!感谢分享!感谢分享!感谢分享!

此帖出自stm32/stm8论坛
 
 

回复

7239

帖子

2

TA的资源

版主

板凳
 

这条路还是很长的,看书入门也不错。

此帖出自stm32/stm8论坛
 
 

回复

208

帖子

1

TA的资源

一粒金砂(高级)

4
 

这条路很广,要走真的要先确定范围,不然会走歪

此帖出自stm32/stm8论坛
 
 
 

回复

107

帖子

0

TA的资源

一粒金砂(中级)

5
 

看起来 就很难啊!我还是算了

此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(中级)

6
 

感谢分享!感谢分享!感谢分享!

此帖出自stm32/stm8论坛
 
 
 

回复

55

帖子

1

TA的资源

一粒金砂(中级)

7
 

多谢分享!多谢分享!多谢分享!多谢分享!多谢分享!

此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
[分享下载]C语言编程900例及C语言视频教学BT种子(谭浩强)

对于C语言的初学者,这些是很有用的东东,要用的下载吧,免费分享哦 C程序设计 谭浩强 清华大学出版社 第一讲 第一章 C语言 ...

几个DSP高手的经验介绍(转)

一. 我是已经从事DSP开发有几年了,看到许多朋友对DSP的开发非常感兴取,我结合这几年对DSP的开发写一写自己的感受,一家之言, ...

教你编写最简单的CM3操作系统,160行实现基本任务创建与切换,助你学习CM3与RTOS的精髓.

如题,任务创建与上下文切换是跟硬件息息相关的,而这恰恰是RTOS编写的最难点,抛开这些功能,剩下的就是双向链表增删改操作了,本例 ...

干货分享:有关沁恒单片机CH55X-实例源码分享

本帖最后由 火辣西米秀 于 2021-5-21 07:38 编辑 鉴于很多网友咨询有关沁恒单片机CH55X 编程过载中的问题,很多朋友在寻找代 ...

i.MX6ULL嵌入式Linux开发1-uboot移植初探

本帖最后由 DDZZ669 于 2021-7-27 23:05 编辑 本系列教程以i.MX6ULL处理器的ARM开发板为实验基础,学习记录嵌入式Linux开发的 ...

【i.MX6ULL】驱动开发7——按键输入捕获

本帖最后由 DDZZ669 于 2021-11-9 00:04 编辑 前面几篇文章,从最基础的寄存器点灯,到设备树点灯,再到GPIO子系统点灯, ...

cadence仿真怎么实现一个周期有两个不同脉宽的脉冲源呢?

cadence仿真怎么实现一个周期有两个不同脉宽的脉冲源呢?

【获奖名单】【参会4次及以上】Microchip 安全系列研讨会第19场-第26场

直播详情:Microchip 安全系列研讨会第19场-第26场 领奖日期:请获奖者务必在 2022 年9月18日 23:59 前,按照下方领奖确 ...

测长机实现高精度二维长度测量

高精度二维长度测量的重要性及测长机在精密制造业中的价值与应用领域 高精度二维长度测量技术在现代精密制造业中,是保证产品质 ...

【工业级智能控制MCU 匠芯创D133CBS】+RTOS中的LVGL使用

好多都人一开箱就用的RTOS,我开始还是想着使用裸机的,但是看到裸机的开发和RTOS基本差不多了,都挺复杂的,所以看了下RTOS的适 ...

关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表