EdgeML
EdgeML
智能家居
⭐⭐⭐⭐☆ (4/5)
🧩 软硬件结合
已发布
项目简介
This repository provides code for machine learning algorithms for edge devices developed at Microsoft Research India.
EdgeML 是微软研究院印度团队开发的一个专注于资源受限边缘设备的机器学习库。其核心目标是在存储、预测延迟和能耗都极为有限的环境下,让机器学习模型能够高效运行。在物联网场景中,许多传感器和设备无法持续连接云端,必须在本地进行实时推理,而 EdgeML 正是为此而生,它提供的模型体积可以小至几 KB,却依然保持较高的预测精度。
标签
项目特点
**超轻量级模型**:算法模型大小仅为几 KB,适合在存储、延迟和能耗受限的边缘设备上运行。
**多种算法支持**:包含 Bonsai、ProtoNN、EMI-RNN、FastGRNN、DROCC、RNNPool 等多种高效算法。
**多框架兼容**:提供 TensorFlow 和 PyTorch 两种框架的实现,以及 C++ 和 C 语言的推理代码。
**量化工具**:SeeDot 工具可将浮点模型转换为定点推理代码,进一步减小模型体积。
**实际应用案例**:包含 GesturePod(手势识别)和 MSC-RNN(雷达数据分析)等完整应用。
**离线推理**:训练好的模型可在边缘设备上完全离线运行,无需连接云端。
技术规格
| 支持框架 | |
|---|---|
| 编程语言 | |
| 算法类型 | |
| 模型大小 | |
| 推理方式 | |
| 量化工具 | |
| 目标设备 | |
| 许可证 |
项目资源
microsoft/EdgeML
microsoft.github.io/EdgeML
project/resource-efficient-ml-for-the-edge-and-endpoint-iot-devices
publications/Bonsai.pdf
publications/ProtoNN.pdf
publications/emi-rnn-nips18.pdf
publications/FastGRNN.pdf
publications/SeeDot.pdf
publications/GesturePod-UIST19.pdf
publications/MSCRNN.pdf
publications/Sha-RNN.pdf
publications/drocc.pdf
publications/RNNPool.pdf
Microsoft/ELL
EdgeML/People
mailto:edgeml@microsoft.com
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| Python 环境 | 1 | — | 用于训练和测试 |
| TensorFlow 或 PyTorch | 1 | — | 根据需求选择 |
| 边缘设备(如微控制器) | 1 | — | 用于部署推理 |
| 传感器(可选) | 1 | — | 用于数据采集 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| Python 3.x | 运行训练和测试脚本 | ✅ 是 |
| TensorFlow 或 PyTorch | 深度学习框架 | ✅ 是 |
| C++ 编译器 | 编译 C++ 推理代码 | ▢ 推荐 |
| C 编译器 | 编译 C 推理代码 | ▢ 推荐 |
| SeeDot 工具 | 浮点转定点量化 | ▢ 推荐 |
能力画像
记忆与知识检索
3/5
逻辑推演
4/5
表达与交流
2/5
感知与观察
2/5
数理与计算
5/5
动手与操作
3/5
狂热与坚持
4/5
创造与创新
4/5
项目图库
所需技能
🔧 **动手能力**:需要能够配置边缘设备(如微控制器)并部署模型,具备基本的硬件调试能力。
💻 **编程能力**:需要熟练使用 Python,了解 TensorFlow 或 PyTorch,能够阅读和修改 C++/C 代码。
⚡ **电子电路**:如果涉及传感器数据采集,需要基本的电路连接知识。
适用场景
物联网设备上的实时分类和预测(如传感器数据分类)
资源受限设备上的异常检测(如工业设备故障预警)
微控制器上的手势识别(如 GesturePod 应用)
雷达数据的时间序列分析(如 MSC-RNN 应用)
边缘设备上的离线推理(无需云端连接)