低功耗设备机器学习开发入门指南
1. 嵌入式设备基础
嵌入式设备是低功耗机器学习应用的硬件平台选择,因其能耗低于1mW的特性符合TinyML的定义。过去,嵌入式设备多为8位设备,使用晦涩且专有的工具链,开发难度较大。不过,随着Arduino引入用户友好的集成开发环境(IDE)和标准化硬件,以及Arm的Cortex - M系列芯片推动32位CPU成为标准,开发过程变得相对简单。
嵌入式设备存在一些资源限制:
- 内存方面 :通常只有几百千字节的RAM,甚至更少,闪存用于持久程序和数据存储的容量也类似。
- 时钟速度 :时钟速度仅为几十兆赫兹的情况并不罕见。
- 操作系统 :不会运行完整的Linux系统(因为这需要内存控制器和至少1兆字节的RAM),即便有操作系统,也可能不提供所有或任何预期的POSIX或标准C库函数。
- 内存分配 :许多嵌入式系统避免使用动态内存分配函数,如 new 或 malloc() ,以确保可靠性和长期运行。
- 调试工具 :使用调试器或其他桌面开发中熟悉的工具可能会有困难,因为访问芯片的接口非常专业。
不过,嵌入式开发也有一些优点:
- 没有其他进程干扰程序,便于构建程序运行的心理模型。
- 没有分支预测或指令流水线的处理器,使手动汇编优化比在更复杂的CPU上容易得多。
2. 不断变化的格局
机器学
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



