如需手机网站建设html网站开发

张小明 2026/1/11 15:36:24
如需手机网站建设,html网站开发,网页制作个人简历代码,网站创建方案论文我的上一篇文章#xff1a;谁说单片机根本不能跑AI模型#xff1f;我已在STM32F103上实测TinyML除了获得很多的点赞和收藏之外#xff0c;留言或者质疑声比较多的是#xff1a;为什么为了计算正弦波#xff0c;非要搞个神经网络出来#xff1f; 针对这么多的质疑#xf…我的上一篇文章谁说单片机根本不能跑AI模型我已在STM32F103上实测TinyML除了获得很多的点赞和收藏之外留言或者质疑声比较多的是为什么为了计算正弦波非要搞个神经网络出来针对这么多的质疑确实有必要再写一篇文章将这个事情说道说道了。这篇文章我主要是要回答下面的两个问题为什么几乎所有 TinyML 的 Hello World都选择了 正弦波 作为第一个 Demo在资源有限的 STM32F103 上这件事到底有多“可行”一、从“点亮 LED”到“学会一个函数”我相信很多单片机入门的同学们或者很多开发板的第一个例程就是点亮一个 LED。为什么仅仅就点亮一个LED灯呢其实原因很简单1足够直观灯亮或者灭一下就看懂2足够简单几行最简单的代码就能跑通整个工具链也就是用最简单的功能、最直观的效果验证硬件连通、编译、下载、调试的整个流程。其实TinyMLTIny machine learning的Hello World也在做类似的事情拿一个足够简单、足够直观、足够容易验证的任务让我们用一整套TinyML 流水线数据 → 模型 → 部署 → MCU完整走一遍。TInyML的工作流如下图上面这个图是我课程的“老演员”因为我会根据这个流程手把手的教会大家从收集数据、预处理数据、部署模型到模型部署和运行的全部流程与普通的单片机课程不同的是我们的功能不是让 LED 亮/灭而是让 MCU 输出一个“学会的函数”。于是“用神经网络拟合sin(x)”就成了一个非常理想的初始任务。也正是因为接触TInyML的同学大多都有一定的单片机或编程基础所以会对“可以使用函数实现的功能非要上这么复杂的神经网络”感到难以理解。二、为什么TinyML的Hello World选sin(x)当然了选择sin(x)也不是小编自己选择的而是TInyML的教材中使用的就是sinx。这也就好比很多开发板的第一个例程都是GPIO都是在控制LED一样。TinyML选择sin(x)也是一个非常理想的“回归问题”。在机器学习里任务大致可以分两类第一类是分类Classification输出是离散的类别比如 0/1、A/B/C网络上或者很多介绍神经网络的文章很喜欢用“用猫的照片训练让大模型去识别是不是猫”这类问题就是分类第二类是回归Regression输出是连续的数值比如温度、角度、函数值等等。同样以猫的例子来举例给出猫的照片让大模型去推理猫有多少岁。上面的两类其实就可以类比我们数字电路中的开关量、模拟量。其实sin(x) 就是非常典型的回归问题输入x是一个标量 一般为弧度值0 ~ 2π输出y也是一个标量ysin(x)连续值范围在 [-1, 1] 之间。用这小型神经网络来学习这个关系本质上是在做给神经网络一堆(x, sin(x)) 的样本让它学会“记住并归纳”这条光滑函数的形状。进而可以实现最终的推理。这有几个好处1模型结构可以非常简单只需要1维输入、几层全连接层、1维输出小到离谱训练收敛比较容易。sin(x)是光滑、周期性的函数梯度友好网络很容易拟合可以顺带引出很多概念回归 vs 分类过拟合用非常复杂的网络去拟合简单函数泛化能力在没见过的 x 上还能不能预测对对于 TinyML 初学者或者我们学员零AI基础的嵌入式工程师来说这比一上来就做人脸分类、语音唤醒要友好得多。2非常容易“可视化误差”一眼就能看出模型好坏选sin(x)做Hello World另一个关键原因是模型效果可以直接“画出来”。比如我把模型跑在 STM32F103 上的例子每隔0.1rad输入一个 x然后输出预测的y_pred同时上位机还能算出真实值y_ref sin(x)那么我们就可以得到两条曲线一条是真实曲线y_ref sin(x)。另一条是模型曲线y_pred f_model(x)。这时你只要把这两条曲线画在同一个坐标系里就行了。如下面的图片所示。如果模型学得好两条曲线几乎重合只在局部有一点小误差如果模型有问题你会看到两条曲线在某些区间偏得很厉害。并且我们课程中同学也提到怎么降低误差也是我们课程中主要讲解的内容之一如果对模型进行优化这种“直观可视化”的能力是很多 TinyML 入门 Demo 不具备的。对于初学者或者零AI基础的同学来说这种画曲线的形式比单纯打印损失值、准确率要更有感知“原来 AI 模型就是在学一条曲线啊它学得好不好我用眼睛就能看出来。”这也非常适合你在我们课程中里做效果展示。3数据集生成极其方便不依赖传感器TinyML 的很多实际项目都涉及真实传感器数据采集如IMU加速度、陀螺仪、麦克风音频、环境传感器温度、湿度、气压这些都很“真实”或者更接近与实际的产品但对初学者来说反而不是很直观。我们把sin(x)作为第一阶段的入门对TinyML有了整体的认知才方便在课程的第二阶段进行真实实战。因为没有了真实传感器所以sin(x)让我们把所有注意力集中在模型训练、模型优化、部署流程本身而不是纠结在先把硬件都买回来。三、STM32F103 的资源够不够跑一个 TinyML 模型很多人听到“在 F103 上跑 AI”第一反应是内存根本不够吧其实我们可以用一个非常工程师的方式精确计算一遍资源占用来证明这件事在 F103 上是完全可行的。1STM32F103 的典型资源情况以我文章中使用的STM32F103RCT6为例主频72 MHzFlash256KBSRAM48 KB。对于很多传统裸机项目这些资源绰绰有余对于 TinyML 来说关键是TFLM 运行时 模型参数 中间张量需要多少 Flash / RAM2TinyML占用的资源如下拿真实数据说话从下面的截图可以看出我们的Demo使用的资源情况如下Flash 实际占用text data 155256 108 155364字节 ≈ 151.7KBRAM 实际占用data bss 108 5040 5148字节 ≈ 5.03KB总之对于 STM32F103 这类资源不算夸张的 M3 MCU一个sin(x)级别的 TinyML Hello World无论从 Flash 还是 RAM 的角度都非常“轻量”。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

竞价网站推广经典软文案例分析

PyScaffold终极指南:3分钟学会Python项目模板搭建 【免费下载链接】pyscaffold 🛠 Python project template generator with batteries included 项目地址: https://gitcode.com/gh_mirrors/py/pyscaffold 想要快速创建符合Python最佳实践的标准化…

张小明 2026/1/1 13:41:06 网站建设

asp网站源码做网站需要有公司吗

Buildozer终极指南:快速实现Python跨平台应用打包 【免费下载链接】buildozer Generic Python packager for Android and iOS 项目地址: https://gitcode.com/gh_mirrors/bu/buildozer Buildozer作为一款功能强大的自动化打包工具,能够帮助开发者…

张小明 2026/1/1 14:46:40 网站建设

小企业网站建设和管理镇海区住房和建设网站

量子物理中的跃迁速率与寿命:从理论到实践 1. 引言 在量子物理领域,激发态的描述通常涉及到寿命和跃迁概率这两个重要概念。寿命是衡量激发态稳定性的关键指标,而跃迁概率则描述了原子在不同能级之间跃迁的可能性。本文将深入探讨氢原子巴尔末系的发射过程,详细计算相关的…

张小明 2026/1/2 5:18:22 网站建设

网站导航页面设计百度人气榜

摘要:本文聚焦粉丝社群策划与实施领域,深入探讨链动21模式、AI智能名片与S2B2C商城小程序在其中的应用。通过分析这些技术与模式的特点和优势,结合实际案例,提出一套完整的粉丝社群策划与实施方案,旨在为企业在粉丝社群…

张小明 2026/1/2 3:21:20 网站建设

网站建设和咨询服务合同客户资料管理软件免费版

KVM网络桥接、管理及Linux容器入门指南 1. KVM桥接网络配置 在KVM环境中,若要让虚拟机与主机处于同一物理网络,可通过配置桥接网络来实现。以下是具体的操作步骤: - 创建桥接网络定义文件 : 首先,创建一个名为 bridge.xml 的定义文件,内容如下: <network&g…

张小明 2026/1/1 22:37:59 网站建设