MegEngine 是一个快速、可拓展、易于使用且支持自动求导的深度学习框架
python3 -m pip install megengine==1.11.0+cu114 -f https://megengine.org.cn/whl/mge.html
megengine.tools.network_visualize
不支持CondTake 导致报错的问题。megengine.functional.isnan
、megengine.functional.not_equal
、megengine.functional.less_equal
、megengine.functional.greater_equal
、megengine.functional.greater
、megengine.functional.less
、megengine.functional.isinf
、megengine.functional.equal
这些 opr 的性能,优化后整体和 pytorch 一致,其中megengine.functional.isinf
、megengine.functional.equal
优于pytorch表现。megengine.get_cuda_version
、megengine.get_cudnn_version
、megengine.get_tensorrt_version
./load_and_run --c-opr-init-interface="your_loader_init_API"
。
c-opr-init-interface 的默认值为 mgb_c_opr_init 。举例在业务中业务可能使用的值为: anc_c_opr_init。megengine.functional.matmul
在动态图模式下反传时挂掉的问题。megengine.functional.transpose
的 shape 推断错误。megengine.random.RNG
算子中空 tensor 的问题。megengine.functional.concat
的 apply 时输入是非 tensor 的类型转换。megengine.functional
里比较函数结果的 dtype 不为 bool 的问题。修复 fp16 参数使 AMP 不能工作的问题。
修复cpuinfo版本,以避免ARM上dlopen时可能造成内存泄露的问题。
修复 adaptive_pooling 在推不出 shape 时 ndim 不正确设置的问题。
修复 riscv64 gcc 使用大于 O0 的编译优化选项报错的问题。
修复异步读写 tensor shape 的错误。
修复 advanced indexing 在一个元素被多次取出时的求导错误。
修复commit改变会导致大量文件重新编译的问题。
修复 fastrun 与 heuristic 混用时缓存混乱的问题。
修复某些情况下在 fork 之后,使用 megengine.get_cuda_compute_capability
接口获取 cuda 环境报错的问题。
修复不能 attach 已经在求导路径上的 Tensor 的问题。
修复类似 softmax 等通过其他 Opr 组合完成计算的 Opr 在 midout 之后运行奔溃问题。
修复 pooling,matmul 中执行 policy 缺失的问题。
修复使用 MegEngineLite 推理,并 reset memory 之后报错的问题,具体为修复 reduce opr 中,当 input 的内存地址发生改变时报错的问题,在实际执行前增加了 update 的功能。
修复 path 里不带 nvcc 时使用 jit 相关的函数会挂的问题。
修复 reduce 算子在 v1.9 其参数 keepdims 的默认值从 True 修改为 False 后,reduce 前后 dim 维度不一样的问题。
修复 layernorm 训练不稳定、normalize 的维度较小时速慢的问题。
修复在极小的概率下 tensor 产生时 shape 信息不全导致获取 shape 时出现卡死的情况。
修复在 adaptivate_pooling 中输入 tensor 作为 tshape 时抛出异常的问题。
修复 reduce 在 backward 构建反向图时,不参与反向计算,没有梯度时抛出异常的问题。
使输入带 axis 选项的 op 都支持负数 axis。
修复使用 GraphInference 跑 mge 计算图时出现的内存泄漏的问题
修复 fastrun 过程中跳过算法的判定条件。
修复 fastrun 过程中显存占用过多触发的 OOM 错误。
修复 maximum(x,x) 求导错误的问题。
在 cmake中 添加 MGE_WITH_BENCHMARK 选项,允许开启 DNN 中 BENCHMARK 的编译。
修复 Function 中的 inplace 操作。
修复 broadcast_to 不能被 trace 的问题。
使用 tensor 去构造新 tensor 时检查 dtype, device 等其他参数。
megengine.functional.nn.roi_align
算子支持空 tensor 的输入。EXTRA_CMAKE_ARGS="-DMGE_SYNC_THIRD_PARTY=ON"
,会自动调整编译所需的 THIRD_PARTY 库。megengine.functional.nn.pixel_shuffle
在小 shape 下的性能,可达 500%。megengine.functional.matmul
在小 shape 下的性能约 15%。megengine.functional.nn.adaptive_avg_pool2d
megengine.functional.nn.adaptive_max_pool2d
速度提升约 6.5 倍。megengine.functional.nn.conv_transpose3d
实现。imperative 情况下的速度提升约 2 倍。megengine.functional.nn.avg_pool2d
megengine.functional.nn.max_pool2d
的速度提升约 5 倍。megengine.functional.nn.conv_transpose2d
实现。imperative 情况下的速度提升约 3 倍。megengine.functional.matmul
grad error.megengine.functional.transpose
shape infer.megengine.random.RNG
.megengine.functional.concat
.megengine.functional.nn.roi_align
operator supports empty tensor input.megengine.functional.nn.pixel_shuffle
on small shapes by up to 500%megengine.functional.matmul
on small shapes by 15%megengine.functional.nn.adaptive_avg_pool2d
megengine.functional.nn.adaptive_max_pool2d
on imperative by 6.5 times。megengine.functional.nn.conv_transpose3d
on imperative by 2 times.megengine.functional.nn.avg_pool2d
on imperative by 5 times.megengine.functional.nn.conv_transpose2d
on imperative by 3 times.megengine.random.RNG
的输入包含 0 维 tensor 场景,训练会报错。megengine.functional.transpose
、megengine.functional.broadcast_to
、megengine.functional.reshape
、megengine.functional.expand_dims
、megengine.functional.split
、张量索引等。这样可以尽可能地减少数据拷贝的过程,性能得到提升。为了防止极端情况下显存异常,提供 megengine.config.disable_memory_forwarding
用于禁用这项功能。@
运算符与 megengine.functional.matmul
的行为一致。megengine.functional.nn.pad
,输出 Tensor 值可能为全 0 的问题。megengine.functional.nn.remap
megengine.data.transform.Resize
添加 nearnest mode 模式。megengine.functional.nn.sync_batch_norm
的问题。megengine.functional.nn.conv1d
megengine.functional.nn.conv2d
增加 padding_mode 参数,支持 zeros、reflect、replicate 模式。megengine.functional.nn.hsigmoid
、megengine.functional.nn.relu6
、megengine.functional.nn.prelu
、megengine.module.LeakyReLU
、megengine.functional.nn.softplus
、megengine.functional.nn.logsigmoid
、megengine.functional.where
性能在大输入 shape 时与 pytorch 持平。LITE_get_last_error_code
。get_data_by_share
python 接口的性能。在算法仓的模型中略有性能提升。megengine.functional.matmul
.megengine.functional.nn.pad
may be all 0 .megengine.functional.nn.remap
and megengine.data.transform.Resize
.megengine.functional.nn.sync_batch_norm
not being available when training with mixed precision.megengine.functional.nn.conv1d
megengine.functional.nn.conv2d
.megengine.functional.nn.hsigmoid
、megengine.functional.nn.relu6
、megengine.functional.nn.prelu
、megengine.module.LeakyReLU
、megengine.functional.nn.softplus
、megengine.functional.nn.logsigmoid
、megengine.functional.where
, and where is on par with pytorch for large input shapes.get_data_by_share
interface of LiteTensor.从下个版本 MegEngine v1.9 开始将停止对 python3.5 支持,请大家提前做好准备。
megengine.functional.topk
新增「descending」以定义排序行为,本次版本默认为「False」保持从小到大排列,如果未指定则提示warning 信息。在 v1.12 版本将修改「descending」默认值为 true 以符合惯常情况下大家对 topK 的定义,即从选出二维矩阵中 Top-K 个最大元素。megengine.functional.floor_div
对于异号整数输入的计算错误。megengine.functional.broadcast_to
接受 None,表示这一维无需进行广播以支持 -1 shape 自动推导。megengine.utils.module_stats
没有import相关库而无法使用的问题--get-static-mem-info
选项, 统计得到的权重信息数据有误的问题。–input "ratio:1.0"
选项时的参数解析错误。megengine.functional.diag
算子。megengine.random.RNG.uniform
API中 low=0 & high=1 的情况下的 elemwise 开销,单算子性能提升约75% 。megengine.functional.nn.softmax
在 axis 为标量时,CUDA 平台上的性能提升约200%~450%。megengine.functional.nn.dropout
在 CUDA 平台上的性能,可提升约 650%。megengine.functional.nn.layer_norm
在 CUDA 平台上的性能,可提升约 540%。get_data_by_share
的接口。通过调用该接口,用户可以零拷贝地获得一个 lite tensor 的 numpy 对象。Drop support for python3.5 from MegEngine v1.9.
megengine.functional.topk
will default to descending order in v1.12. Please specify the "descending" argument during the transition period.megengine.functional.floor_div
for integers with opposite sign.megengine.utils.module_stats
cannot be used without import related libraries.megengine.tools.network_visualize
when inputs is instance of dict.--get-static-mem-info
.–input "ratio:1.0"
.megengine.random.RNG.uniform
to improve performance.megengine.random.RNG.uniform
to improve performance.get_data_by_share
. A zero-copy numpy object will be returned containing data of a lite tensor object. megengine.jit.trace.dump
中,使用请参考 导出序列化模型文件。cudnnConvBiasActivation
崩溃的问题。megengine.utils.module_stats
支持字典输入。megengine.functional.full
:修改返回值的 dtype 为传入的数字的 dtype ,而不是默认 float32 。load_and_run
获取模型内存「--get-static-mem-info」
选项不生效的问题。conv_bias Operator
计算错误问题。megengine.functional.nn.hinge_loss
。megengine.functional.nn.pad
megengine.functional.nn.conv_transpose2d
megengine.functional.nn.conv_transpose3d
增加 group 参数支持。megengine.functional.nn.cvt_color
OPR 增加 bgr2gray mode 。TracedModule node 命名规则变更, 对 expr 的 GetAttr 根据目的进行融合。 node 修改为 name 、qualname 两个名字,命名规则参见如下规则。node._name 用法不变,node._orig_name 需要修改为 node.qualname 使用 。 qualname:
name:
megengine.jit.trace.dump
, please refer to Export Serialized Model File .cudnnConvBiasActivation
crash under cuda11.megengine.utils.module_stats
supports dictionary input.megengine.functional.full
: Modify the dtype of the return value to the dtype of the number passed in, instead of the default float32.load_and_run
to obtain model memory “--get-static-mem-info”
does not take effect.conv_bias Operator
.megengine.functional.nn.hinge_loss
.megengine.functional.nn.conv_transpose2d
megengine.functional.nn.conv_transpose3d
adds group parameter support.megengine.functional.nn.cvt_color
OPR.