V2.1.0

重点功能

  • 新增ARM端图像预处理库
    • 支持多种颜色空间转换,如 NV12_To_RGBGRAR_To_RGB
    • 支持多种图像预处理操作,如图像旋转、翻转等
    • 支持图像数据到tensor的转换,如RGB_To_NCHW(Tensor)等
    • 相关功能性能优于 OpenCV 处理速度
  • 增加多个模型裁剪预测库功能。用户给定多个模型,按需裁剪预测库的算子,只保留提供模型线上预测所需要的功能,最大化压缩预测库体积。相关文档可参考裁剪预测库方法
  • 加强报错信息,Android 中支持原生系统报错

基础功能升级

  • 新增op

    • x86 tanh, gelu, pr2265
    • x86 stack, pr2458
  • 新增模型

    • X86增加MobileNet_v1, MobileNet_v2支持,见pr2420
  • op升级,与飞桨核心框架(以下简称Paddle)对齐

    • reshape支持输入ShapeTensor、Tensor,见pr2377
    • slice支持输入StartsTensor、StartsTensorList,见pr2377
    • lookup_table根据 Paddle 升级修改,去除最后一维必须为1的限制,保留原op,新op为lookup_table_v2,见pr2405
    • resize_bilinear和resize_nearest根据 Paddle 升级,增加对list的Tensor输入shape和对Tensor输入scale的支持,见pr2406
  • api对齐

    • python、java、C++三种 api核心接口对齐
      • 其中,python 和 C++ 完整对齐了 MobileConfigCxxConfig 两个模式
      • Java 定位为 Android端使用,只对其了 MobileConfig
  • 升级量化模型支持

    • 支持PaddlePaddle训练后量化方法产出的量化模型,比如mobilenet_v1、 mobilenet_v2、resnet50,见pr2368,使用方法请参考文档
    • 支持PaddlePaddle量化训练方法产出权重量化方式为channel_wise_abs_max的量化模型,见pr2368
  • 预测库整理:重新整理核心库包含的(basic) OP&Kernel,使基础预测库(build_extra=OFF)完整支持CV相关9个核心模型(包括Paddle原生模型和对应的 X2Paddle第三方转化模型)和三个量化模型。且tiny_publish下预测动态库体积不变。支持模型如下:

    • 9个基础模型及其 Paddle 转化模型:mobileNetV1、mobileNetV2、mnasnet、resnet50、yolov3、ssd_mobilenetv1、 unet、squeezenet_v11、shufflenet_v2

    • 三个int8量化模型:mobilenet_v1、mobilenet_v2、resnet50

性能

  • ARM CPU Conv3x3 性能提升。 改进ARM CPU Conv3x3实现方式,在Resnet、Squeezenet等模型上提升性能。

编译

  • X86与 CUDA 编译时第三方库下载加速 (X86编译相关的第三方库eigen、mklml、xxhash改为从百度云地址下载,加速编译过程)
  • NPU的编译支持华为官方最新版HiAI DDK 310

文档

Bug 修复

  • 修复 jit::matmul 特定尺寸下计算错误的bug:输入x, shape(m, k) weight, shape(k, n),当k < 512,m==1, 且n是16的倍数时,jit分组group计算错误,详情见pr 2392
  • 修复yolo_box cuda kernel多次运行结果出错的bug:多次运行时没有将上一次的结果清零,会保留之前计算的结果,详情见pr2245
  • 修复fill_constant kernel的bug:没有用到dtype属性,默认输出float tensor,修复后根据dtype属性判断输出类型,详情见pr2376
  • 修复convolution X86 kernel由于share_data_with导致的运行多次以后输出结果不正确的bug,详情见pr2420
  • 修复多线程跑模型会随机crash的问题

项目简介

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 %