2021 年 3 月 24 日,天元 MegEngine 发布了 v1.3.0 版本。
由于 PYPI 对容量的限制,并为了便于后续支持 cuda 的各种版本,从 v1.3.0 开始,PYPI 上将不再提供安装包。
MegEngine 唯一的安装方式如 官网 所示。
大家可以复制下方命令,通过包管理器 pip 安装 MegEngine:
pip3 install megengine -f https://megengine.org.cn/whl/mge.html
MegEngine v1.3.0 Release Notes
兼容性破坏
- 由于 C++ 序列化增加了 opname 字段,导致老版本不能加载新版本序列化文件。
- 废弃 set/get_conv_execution_strategy ,请使用新接口 set/get_execution_strategy 。
其他说明
- funtional.nn 模块中 interpolate/roi_pooling/roi_align/nms/remap/warp_affine/warp_perspective/cvt_color 移动到 funtional.vision 模块。
- functional.elemwsie 模块中 sigmoid/hsigmoid/relu/relu6/hswish 移动到 funtional.nn 模块。
- functional.utils 模块中 topk_accuracy 被移动到 funtional.metric 模块。
- functional.utils 模块中 copy 被移动到 funtional.tensor 模块。
问题修复
通用组件
- 修复 reshape 推导 shape 错误导致 trace 报错的问题。
- 修复 trace 内存泄漏的问题。
- 修复 linspace 造成 trace 报错的问题。
- 修复 scalar 参数经过求导后变成 1 维 tensor 的问题。
- 修复图优化中 NCHW 转 NCHW4 出错的问题。
- 修复异步执行下发任务过快导致内存泄漏问题。
- 修复 pyobject 引用计数问题引起的段错误。
- 修复 roialign 越界访存的问题。
- 修复 CompNode reuse 某些情况下 load 错误。
- 修复 NormalizeArithChainPass 和 WarpFusion 的图优化错误。
- 修复 linspace 中 device 参数。
Python API
- 修复 F.full/F.ones/F.zeros 输入 shape 是 scalar 类型的 tensor 会报错的问题。
量化
- 修复量化类型在某些 case 下判等会报错的问题。
- 修复量化训练 checkpoint 加载出错的问题。
- 修复 TQT 量化训练参数不更新的问题。
- 修复 TQT 量化训练反向求导计算的问题。
- 修复量化训练未转换自定义量化 Module 的问题。
其他
- 修复 set_mgb_log_level 不生效的问题。
- 修复 batch normalization 中的 freeze 参数的问题。
新功能
通用组件
- 支持小 tensor 在 host 上的计算以减少 host-device 同步。
- fastrun 添加 fast profile 模式。
- fast-run 支持递归搜索。
- Matmul Opr 支持 fast-run 搜参。
- load_and_run 增加 disable-optimize-for-inference 参数。
- 增加 trace 时根据 module 结构自动命名 op name 的功能。
- Reshape 增加静态 shape 推导。
Python API
- 增加 TensorRT/Atalas/Cambricon (三方硬件)、cvt_color、matinv、resize、warp_affine、deformable_conv2d、deformable_psroi_pooling、repeat、tile 等新算子。
- 增加给 tensor 命名的功能。
分布式训练
- 增加分布式通信算子对 scalar 的支持。
周边工具
- 在 cgtools 中增加 GraphInference 并支持指定输出节点。
- 增加基于 .mge 文件的可视化、统计参数量计算量的工具。
- 增加 python 版 load_and_run 工具。
Dataloader
- stream dataloader 支持设置 timeout 以及设置 timeout 后的回调函数。
ARM
- 自动检测 ARM 平台特征并开启相应优化。
- 添加 ARM64 CUDA 推理支持。
改进
通用组件
- 被 trace 的函数增加支持返回dict的功能。
- Python API
- module 支持用复杂 key 来做 getattr。
- module repr 支持 list/dict。
分布式训练
- 分布式训练增加返回值功能。
量化
- 调整了假量化 bias 的策略,只有在 weight 和 activation 都被量化时才对 bias 做假量化。
- 优化量化数据类型结构使量化框架支持第三方量化数据类型。
ARM
- 增加了 Matmul 的分块实现,优化某些 shape 下的性能。
Thanks to our Contributors
本次 release 非常感谢 @jia-kai 提交 PR ,期待更多的开发者一起共建 MegEngine!
附
-
GitHub 源码地址:https://github.com/MegEngine/MegEngine/
-
MegEngine 官方文档 - 新手入门:https://megengine.org.cn/doc/stable/zh/getting-started/index.html
-
MegStudio:https://studio.brainpp.com/