微控制器(或单片机,MCU)以其小体积、低成本、低能耗和高集成度等优势成为未来边缘智能应用关键的部署平台之一。相比于传统云服务器、个人电脑和移动智能手机,微控制器以其更加极端受限的存储和计算资源限制,极大程度增加了模型部署的难度(主流微控制器往往只具备KB级别的运行内存(RAM)和持久性存储(Flash或ROM))。团队针对微控制器提出一种基于压缩算子群和电压频率调整(DVFS)的软硬协同模型部署流程:挖掘分析模型真实硬件平台开销和微控制器资源限制,利用“结构块”思想实现基于压缩算子群的模型装载设计,并与平台层面的离散电压频率配置共同构建起针对动态情境的自适应搜索空间,且软、硬层面的设计相对独立、互不影响,具有很高的可拓展性。
如算法概述表13. 29所示,该算法基于TensorFlow1.14、X-Cube-AI、STM32H-HAL等依赖库开发。算法输入为动态资源情境(如设备电量、存储资源)及用户情境(如时延、能耗),输出则为根据动态情境生成模型压缩算子装载及运行电压、频率配置方案。该算法面向为控制平台,支持CIFAR-10、Food-101等数据集上深度学习模型的自适应压缩。且在实现过程中,该算法参考了μNAS、Rao等第三方资源实现。
算法名称 | 面向微控制器平台的自适应压缩框架 |
算法接口 | python CompressionOps.py --config_file config.yaml |
输入 | 动态资源情境(电量、存储资源)和用户情境(时延、能耗) |
输出 | 根据动态情境生成模型压缩算子装载及运行电压、频率配置方案 |
支持数据集 | Food-101、CIFAR-10等 |
依赖库 | Python 3.6+、TensorFlow1.14、X-Cube-AI、STM32H-HAL库 |
参考资源 | μNAS、Application-Specific
Performance-Aware Energy Optimization on Android Mobile Devices |
Gitlab链接:MCU· GitLab (crowdhmt.com)
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!