Skip to content

2.5.0

Compare
Choose a tag to compare
@github-actions github-actions released this 27 Apr 09:09
d7d1efe

1. 新特性

  • MNN OpenCV新增算子:
    • erode
    • convertMaps
    • remap
    • adaptiveThreshold
    • bilateralFilter
    • solve (MNN numpy新增solve)
    • normalize
    • split
    • merge
    • addWeight
  • 支持Tflite int8量化模型转换到MNN模型;
  • ARM CPU支持GELU-bf16
  • CUDA 新增算子:
    • GridSampler
    • Multi-Input Convolution
    • Multi-Input Deconvolution
  • CUDA针对多卡推理,支持用户设置运行device_id
  • 支持Deconvolution-int8
  • runSession/runSessionWithCallBack函数加锁,避免多线程调用出错
  • 支持非拓扑序ONNX模型转换
  • 支持ONNX多版本Softmax转换

2. 重构/优化

  • 优化内存分配与回收时机,新增Session
  • 简化ONNX Slice算子模型转换
  • Cuda性能优化
    • Argmax针对dim size较大的情况性能优化
    • Softmax在channel较大时性能优化
    • MatMul算子预重排逻辑优化
    • 优化后ChatGLM模型在A10显卡上性能优于Pytorch 2.0
  • OpenCL优化,resnet测试优于OpenVINO
    • 使用intel subgroup扩展优化winogard算子,调整数据排布格式与准入条件
    • 根据输入尺寸调整conv2d算子的数据排布格式,使用intel subgroup扩展优化
    • 优化后ResNet18模型在intel UHD Graphics 630显卡上性能优于OpenVINO
  • GELU-bf16实现后性能提升

3. Bugfix

3.1 关联 Github Issue 解决

  • 修复CPURaster 的 singleConvert 部分情况出错 issue-2264
  • 修复atan2计算错误的问题
  • 修复ONNX dynamic shape转换出错的问题 issue-2276
  • 修复i8mm时Im2col出错的问题
  • 修复CPUConvolutionDepthwise错误的问题 issue-2291
  • 修复CUDA int8编译失败的问题 issue-2321
  • 修复Onnx Loop 算子的 M 和 cond 为optional 时,转换失败的问题 issue-2267
  • 修复Raster中fastblit 中turnPackRegion 部分情况下出错的问题 issue-2337

3.2 其他 Bugfix

  • 修复 onnx 子图中 identity 被优化导致 输出数和原始子图不一致的问题
  • 修复 Onnx sequense 相关算子转换问题
  • 修复 TensorArrayConcat 计算 newAxis = 1 时的问题(此时为 stack)
  • 修复 TensorArray 计算 eleSize 时,axis < 0 时计算出错的问题
  • 修复低精度计算或者 GPU 无法运行 mnn 训练模型的问题