推荐开源项目:MACE - 移动AI计算引擎
移动AI计算引擎(简称MACE)是一个专为Android、iOS、Linux和Windows设备上的异构计算优化的深度学习推理框架。该框架的设计旨在实现以下目标:
- 性能优化:借助NEON、OpenCL和Hexagon进行优化,并引入Winograd算法加速卷积操作。初始化过程也进行了优化以提高速度。
- 功耗控制:利用芯片特定的功耗选项,如big.LITTLE调度和Adreno GPU提示,提供高级API。
- 响应性:通过将OpenCL内核划分为小单元,确保在运行模型时不会影响UI渲染任务的响应性。
- 内存管理和库大小:支持图级内存分配优化和缓冲区重用,核心库尽量减少对外部依赖,保持较小的库足迹。
- 模型保护:采用多种技术,如将模型转换为C++代码并进行字面量混淆,以保护模型安全。
- 平台覆盖:全面支持最新的高通、联发科、松果和其他基于ARM的芯片。CPU运行时支持Android、iOS和Linux。
- 模型格式支持:支持TensorFlow、Caffe和ONNX等模型格式。
快速上手
性能表现
MACE模型动物园包含了常见的神经网络和模型,每日都会针对一系列移动设备进行构建和基准测试。你可以在CI结果页面(选择最新通过的流水线,点击“release”步骤,查看基准测试结果)中找到详细数据。要获取与其他框架的对比结果,请参考MobileAIBench项目。
交流与支持
- 使用GitHub issues报告bug、提出使用问题或功能请求
- 加入Slack社区:mace-users.slack.com
- 加入QQ群:756046893
贡献指南
任何形式的贡献都受到欢迎。无论是bug报告、使用问题还是功能建议,都可以直接打开一个issue。对于代码贡献,建议先开启一个议题进行讨论。更多详情,请参阅贡献指南。
许可证
本项目遵循Apache License 2.0授权。
致谢
MACE依赖于third_party目录下的多个开源项目。特别地,我们从以下几个项目中学到了很多:
- Qualcomm Hexagon NN Offload Framework:Hexagon DSP运行时依赖该库
- TensorFlow
- Caffe
- SNPE
- ARM ComputeLibrary
- ncnn
- ONNX 和许多其他项目
最后,我们也感谢高通、松果和联发科工程团队的支持。
招贤纳士
我们在招聘,期待你的加入!
结论
MACE作为一款强大的移动设备深度学习推理框架,以其高性能、低功耗和广泛的平台兼容性,成为了开发者实施AI应用的理想工具。无论你是想在手机游戏、图像识别、语音处理等领域开发AI应用,MACE都能提供有力的技术支撑。现在就加入这个社区,一起探索无限可能吧!