v2.2.0

基础功能

  • 新增算子

    • 【ARM CPU】
      • 支持 grid sampler kernel,以支持GAN相关模型,详见链接
      • 支持 instance norm kernel,以支持GAN相关模型,详见链接
      • 支持 split_lod_tensor、merge_lod_tensor、reduce_prod、conditional_block、collect_fpn_proposals、distribute_fpn_proposals,详见链接链接
    • 【FPGA】
      • 新增FPGA kernel: concat、dropout、im2sequence、mul、multiclass_nms、norm、prior_box、reshape、transpose , 详见链接
  • 新增模型

    • 【ARM CPU】
      • 支持Mask RCNN,详见链接
  • 添加Demo

    • mobile_classify 分类C++ API demo,支持图片输入, 见PR2657
    • mobile_detection 检查C++ API demo,支持图片输入, 见PR2541
    • Paddle-Lite-Demo 采用编译时在线下载Paddle Lite库和模型的方式,将repo压缩到4MB,解决因github访问过慢而无法下载的问题。
    • Paddle-Lite-Demo 增加Face Detection Demo for Android、Human Segmentation Demo for Android。
  • x86基于CxxConfig新增API,详见PR2592

    • set_cpu_math_library_num_threads(int threads) 用于设置x86 Math库线程数,x86核心数支持情况下可加速预测。默认为1,并且仅在x86下有效。
    • cpu_math_library_num_threads() 返回x86 Math库线程数,x86核心数支持情况下可加速预测。仅在x86下有效。
  • 其他特性:

    • 增加【ARM CPU】端 elmentwise_mul_constant_eliminate 、 deconv+relu、 deconv+batchnorm 算子融合,见PR2604
    • Java API setDatagetData 接口支持 INT 数据类型,用以支持yolov3
    • model_optimize_tool支持生成NPU模型(仅需要将valid_targets设置为npu,arm),具体实现原理详见PR2576
    • model_optimize_tool支持打印当前Lite OP的信息,转化前检查模型是否支持(模型中的OP&kernel是否都支持),打印help信息

性能

  • 【ARM CPU】提升最近邻差值kenrel性能,相比于原实现有1.5倍左右的性能提升,详见链接
  • 【ARM CPU】提升arm cpu conv3x3多线程性能,添加winograd f(2,3)实现

编译

  • Tiny publish发布包中新增C++静态库
  • CXX Demo中新增图像分类,图像检测Demo

文档

Bug fix

  • 修复ios demo编译失败问题,详见链接
  • 【ARM】修复global pooling kernel选择机制,对于参数匹配到global pooling的case, 将会选择global pooling,详见链接
  • 消除VLOG对预测性能的影响,提升paddle lite在低端CPU上的性能,详见链接

项目简介

Multi-platform high performance deep learning inference engine (『飞桨』多平台高性能深度学习预测引擎)

发行版本 20

v2.7-beta

全部发行版

贡献者 87

全部贡献者

开发语言

  • C++ 82.3 %
  • Swift 4.1 %
  • CMake 3.0 %
  • Metal 2.6 %
  • C 2.3 %