MegEngine简介
MegEngine是一个快速、可扩展、易于使用且支持自动求导的深度学习框架,由旷视科技(Megvii)开源。它具有以下三个主要特点:
-
统一的训练和推理框架
- 单一模型即可实现量化、动态形状/图像预处理和求导
- 训练完成后,可将所有内容打包到模型中,在任何平台上实现快速精确的推理
-
最低的硬件要求
- 启用DTR算法后,GPU内存使用可降至原来的三分之一
- 利用Pushdown内存规划器,实现最低内存占用的推理模型
-
高效的全平台推理
- 在x86、Arm、CUDA和RoCM上实现高速高精度推理
- 支持Linux、Windows、iOS、Android、TEE等多种平台
- 通过高级特性优化性能和内存使用
MegEngine的目标是打造一个开放友好的社区,用AI赋能人类。它采用Apache 2.0开源许可证,欢迎各界开发者参与贡献。
安装使用
MegEngine支持在Linux 64位、Windows 64位、MacOS(仅CPU)10.14+和Android 7+(仅CPU)平台上安装Python包,支持Python 3.6到3.9版本。
安装预编译二进制包的命令如下:
python3 -m pip install --upgrade pip
python3 -m pip install megengine -f https://megengine.org.cn/whl/mge.html
对于Windows 10用户,可以通过Windows Subsystem for Linux(WSL)安装Linux发行版,也可以直接安装Windows版本。
此外,MegEngine还支持从源码编译安装。CMake编译详情请参考BUILD_README.md,Python绑定编译详情请参考BUILD_PYTHON_WHL_README.md。
主要特性
1. 统一的训练和推理框架
MegEngine采用统一的训练和推理框架,可以在单一模型中实现量化、动态形状/图像预处理和求导等功能。训练完成后,所有内容都可以打包到模型中,在任何平台上实现快速精确的推理。
这种设计大大简化了从模型开发到部署的流程。开发者只需要关注一个模型,就可以完成从训练到推理的全过程,无需在不同框架间切换或进行复杂的模型转换。
2. 低硬件要求
MegEngine在硬件资源利用方面做了大量优化:
-
启用DTR(Dynamic Tensor Rematerialization)算法后,GPU内存使用可降至原来的三分之一。这对于训练大型模型或在资源受限的环境中工作非常有帮助。
-
利用Pushdown内存规划器,可以实现最低内存占用的推理模型。这使得MegEngine能够在内存受限的设备(如移动设备或嵌入式系统)上高效运行。
这些特性使得MegEngine在各种硬件环境下都能保持出色的性能,从高端GPU服务器到普通PC,再到移动设备,都能充分发挥硬件潜力。
3. 高效的全平台推理
MegEngine支持在多种平台上进行高效推理:
- 在x86、Arm、CUDA和RoCM等不同架构上实现高速高精度推理
- 支持Linux、Windows、iOS、Android、TEE等多种操作系统
- 提供多种高级特性来优化性能和内存使用
这种广泛的平台支持使得开发者可以在各种设备和环境中部署MegEngine模型,从服务器到移动设备,再到物联网设备,都能实现高效推理。
社区贡献
MegEngine采用Contributor Covenant作为社区行为准则,鼓励开放友好的社区氛围。每位贡献者需要签署贡献者许可协议(CLA)以明确知识产权许可。
开发者可以通过多种方式为MegEngine做出贡献:
- 编写代码
- 改进文档
- 在MegEngine论坛或Stack Overflow上回答问题
- 在MegEngine Model Hub贡献新模型
- 在MegStudio上尝试新想法
- 报告或调查bugs和issues
- 审查Pull Requests
- 为MegEngine仓库加星标
- 在论文和文章中引用MegEngine
- 向朋友推荐MegEngine
- 其他任何形式的贡献
MegEngine欢迎各种形式的贡献,致力于构建一个开放友好的社区。
联系方式
如果您有任何问题或建议,可以通过以下方式与MegEngine团队联系:
- GitHub Issues: github.com/MegEngine/MegEngine/issues
- 电子邮件: megengine-support@megvii.com
- 论坛: discuss.megengine.org.cn
- QQ群: 1029741705
相关资源
- MegEngine官网
- MegStudio在线AI开发平台
- 镜像仓库:
- OPENI: openi.org.cn/MegEngine
- Gitee: gitee.com/MegEngine/MegEngine
开源许可
MegEngine采用Apache License 2.0开源许可证。
引用
如果您在研究中使用了MegEngine,请使用以下BibTeX条目进行引用:
@Misc{MegEngine,
institution = {megvii},
title = {MegEngine:A fast, scalable and easy-to-use deep learning framework},
howpublished = {\url{https://github.com/MegEngine/MegEngine}},
year = {2020}
}
MegEngine是由旷视科技开源的深度学习框架,致力于为AI开发者提供高效、灵活的工具。无论您是在进行学术研究、工业应用还是个人项目,MegEngine都能为您提供强大的支持。我们期待看到更多基于MegEngine的创新应用,共同推动AI技术的发展与应用。