Skip to content

v2.6.3

Compare
Choose a tag to compare
@Superjomn Superjomn released this 29 Sep 02:30
· 9 commits to release/v2.6 since this release
2425f9a

v2.6.3

功能加强

  • 支持subblock的图优化,即pass支持对 while/conditional_block 等 Op 的 subblock的优化,例如对subblock的Op Fuse、Kernel选择等,目前已在ARM和华为NPU上支持transformer模型 PR3947

  • 支持内部处理错误时向应用层抛出异常,防止程序出现 abort (暂时不支持android+armv7+gcc 脚本开关编译选项) PR3947

  • 新增 Op,支持RetinaNet模型 PR4157

  • 新增Paddle-Lite 手机端训练功能(仅用于技术预览)

    • ARM CPU上新增一系列反向传导和优化算子;
    • 在“波士顿房价预测”任务中,给出了基于安卓的端上训练,详情参考文档

文档更新

硬件能力

ARM CPU

  • 增加conv_winograd int8 实现,PR3767

NPU

  • 增加NPU模型缓存机制(支持内存和文件两种缓存方式),支持 dynamic shape,避免每次进行NPU模型的在线生成,缩短第一次推理耗时,同时降低内存的消耗 PR3947
  • 支持NPU内存共享,增加 zero copy 优化,大幅提高 CPU+NPU hybrid的推理性能 PR3947

OpenCL

  • 增加 OpenCL 预判API IsOpenclBackendValid,对于优先选择执行GPU的用户,可基于该API预判手机是否支持OPENCL,否则加载CPU模型,PR3951 PR4003
  • 优化OPENCL Conv和depthwise Conv执行流程,去除冗余计算,PR3924
  • 增加OPENCL auto tuning API,应用场景是对于长时跑的GPU模型,首次执行先做kernel tuning,对执行性能有一定提升,在mali gpu如kirin990/980/970上,针对mobilenetv1/v2有20~50%左右的GPU性能提升,PR4016

Bug fix

  • 增加2x2s1p1_pooling 实现及修复3x3s2p0 pooling 随机crash问题,PR3705
  • 修复softmax 随机crash及计算错误问题,PR3834
  • 修复gemm_prepack_oth_int8 函数随机crash问题,PR3906
  • 修复 opencl 加载int16模型的fc权重异常问题,PR3900
  • 修复了模型优化工具(opt) 转换模型后,出现模型参数大小膨胀的问题;
  • 修复了sequence_conv算子在batch size>1时计算错误的问题;
  • 修复android armv8的静态库编译出现undef pad问题 PR3977
  • 修复ARM CPU LSTM kernel注册问题 PR4007
  • 修复ARM CPU非对称的pooling计算结果不对的问题PR4013