From 3ecf11360e20d8b844e3d61749bd8e8a7cac8ef4 Mon Sep 17 00:00:00 2001 From: huzhiqiang <912790387@qq.com> Date: Tue, 25 Feb 2020 19:38:23 +0800 Subject: [PATCH] [doc]modify release doc, add explanation for `build_extra` (#3005) --- .../support_operation_list.md | 134 ++++++++++-------- docs/installation/library.md | 60 ++++---- docs/installation/release_lib.md | 23 +-- 3 files changed, 115 insertions(+), 102 deletions(-) diff --git a/docs/advanced_user_guides/support_operation_list.md b/docs/advanced_user_guides/support_operation_list.md index 7c2ceb0ff8..c12c8d6e55 100644 --- a/docs/advanced_user_guides/support_operation_list.md +++ b/docs/advanced_user_guides/support_operation_list.md @@ -1,44 +1,31 @@ # 支持OP列表 -## Ops +## Ops (共计158个算子) +### Basic Operators (默认编译的算子) - affine_channel -- anchor_generator - arg_max -- assign -- assign_value -- attention_padding_mask -- axpy - batch_norm -- beam_search -- beam_search_decode - bilinear_interp -- box_clip - box_coder - calib -- calib_once - cast -- collect_fpn_proposals - concat -- conditional_block - conv2d - conv2d_transpose -- crop -- decode_bboxes - density_prior_box - depthwise_conv2d -- distribute_fpn_proposals - dropout - elementwise_add - elementwise_div - elementwise_max - elementwise_mul - elementwise_sub -- equal - exp - expand - fake_channel_wise_dequantize_max_abs - fake_dequantize_max_abs +- fake_quantize_abs_max - fake_quantize_dequantize_moving_average_abs_max - fake_quantize_moving_average_abs_max - fake_quantize_range_abs_max @@ -55,6 +42,72 @@ - fusion_elementwise_max_activation - fusion_elementwise_mul_activation - fusion_elementwise_sub_activation +- gelu +- grid_sampler +- hard_sigmoid +- instance_norm +- io_copy +- io_copy_once +- layout +- leaky_relu +- log +- matmul +- mean +- mul +- multiclass_nms +- nearest_interp +- pad2d +- pool2d +- prelu +- prior_box +- range +- reduce_mean +- relu +- relu6 +- relu_clipped +- reshape +- reshape2 +- rsqrt +- scale +- search_fc +- sequence_topk_avg_pooling +- shuffle_channel +- sigmoid +- slice +- softmax +- softsign +- split +- sqrt +- square +- squeeze +- squeeze2 +- stack +- subgraph +- swish +- tanh +- transpose +- transpose2 +- unsqueeze +- unsqueeze2 +- yolo_box + +### Extra Operators (打开 `--build_extra=ON`开关才会编译) + +- anchor_generator +- assign +- assign_value +- attention_padding_mask +- axpy +- beam_search +- beam_search_decode +- box_clip +- calib_once +- collect_fpn_proposals +- conditional_block +- crop +- decode_bboxes +- distribute_fpn_proposals +- equal - gather - generate_proposals - graph_op @@ -62,21 +115,14 @@ - greater_than - gru - gru_unit -- hard_sigmoid - im2sequence - increment -- instance_norm -- io_copy -- io_copy_once - is_empty - layer_norm -- layout - layout_once -- leaky_relu - less_equal - less_than - lod_reset -- log - logical_and - logical_not - logical_or @@ -85,37 +131,18 @@ - lookup_table_v2 - lrn - match_matrix_tensor -- matmul -- mean - merge_lod_tensor -- mul -- multiclass_nms -- nearest_interp - negative - norm -- notequal -- pad2d -- pool2d +- not_equal - power -- prelu -- prior_box -- range - read_from_array - reduce_max -- reduce_mean - reduce_prod - reduce_sum -- relu -- relu6 -- relu_clipped -- reshape -- reshape2 - roi_align -- rsqrt -- scale - search_aligned_mat_mul - search_attention_padding_mask -- search_fc - search_grnn - search_group_padding - search_seq_arithmetic @@ -130,32 +157,15 @@ - sequence_reshape - sequence_reverse - sequence_softmax -- sequence_topk_avg_pooling - shape -- shuffle_channel -- sigmoid -- slice -- softmax -- softsign -- split - split_lod_tensor -- sqrt -- square -- squeeze -- squeeze2 -- stack -- swish -- tanh - top_k -- transpose -- transpose2 - uniform_random -- unsqueeze -- unsqueeze2 - var_conv_2d - while - write_to_array -- yolo_box + + ## Kernels diff --git a/docs/installation/library.md b/docs/installation/library.md index ef2f8fdb18..20f16322c6 100644 --- a/docs/installation/library.md +++ b/docs/installation/library.md @@ -1,61 +1,57 @@ -# 预测库说明 +# `build_extra`参数说明: -Paddle-Lite的编译结果为预测库文件(包括静态库和动态库),具体编译过程参考[源码编译](./source_compile)。 +Lite预测库分为**基础预测库**和**全量预测库(with_extra)**:基础预测库只包含基础CV算子(OP),体积较小;全量预测库包含所有Lite算子,体积较大,支持模型较多。 -Lite预测库分为**基础预测库**和**全量预测库**:基础预测库只打包了基础模型需要的基础算子,预测库体积较小;全量预测库打包了所有的Lite算子,可以支持更多的模型,但是预测库的体积也更大。 编译时由编译选项 `build_extra`(默认为OFF)控制,`--build_extra=OFF`时编译基础预测库,`--build_extra=ON`时编译全量的预测库。 +编译时由编译选项 `build_extra`(默认为OFF)控制,`--build_extra=OFF`时编译**基础预测库**,`--build_extra=ON`时编译**全量预测库**。 -## 基础预测库 +## 基础预测库( [基础OP列表](../advanced_user_guides/support_operation_list.html#basic-operators) ) -### 编译方法 -编译时设置`--build_extra=OFF` (默认值) 或不指定即可编译出基础预测库。例如: - -``` -./lite/tools/build.sh --arm_os=android --arm_abi=armv8 --arm_lang=gcc --android_stl=c++_static tiny_publish -``` - -### 基础预测库支持的功能 -(1)支持基础CV模型 +### 支持功能 -(2)支持基础的in8量化模型 +(1)87个[基础OP](../advanced_user_guides/support_operation_list.html#basic-operators) (2)9个基础模型 (3)3个in8量化模型 -(3)支持[benchmark测试](../benchmark/benchmark) +### 支持的模型 -### 基础预测库支持的基础模型: - -1. fluid基础模型(paddle model 提供的基础模型9个) +1. fluid基础模型(来源:[paddle-models](https://github.com/PaddlePaddle/models) ) ``` -mobileNetV1 mnasnet yolov3 ssd_mobilenetv1 shufflenet_v2 -mobileNetV2 resnet50 unet squeezenet_v11 +mobilenetV1 mnasnet yolov3 ssd_mobilenetv1 shufflenet_v2 +mobilenetV2 resnet50 unet squeezenet_v11 ``` -2. int8量化模型模型 +2. int8量化模型 ``` mobilenet_v1 mobilenet_v2 resnet50 ``` ### 特点 - 轻量级预测库,体积更小,支持常用的基础模型。 - - - -## 全量预测库 + 轻量级预测库,体积更小,支持常用模型。 ### 编译方法 -编译时设置`--build_extra=ON` 即可编译出全量预测库。例如: +编译时设置`--build_extra=OFF` (默认值) 编译出基础预测库。例如: ``` -./lite/tools/build.sh --arm_os=android --arm_abi=armv8 --arm_lang=gcc --android_stl=c++_static --build_extra=ON tiny_publish +./lite/tools/build.sh --arm_os=android --arm_abi=armv8 --arm_lang=gcc --android_stl=c++_static tiny_publish ``` -### 全量预测库功能 -(1) 基础预测库所有功能 -(2)支持所有Paddle-Lite中注册的所有算子 +## 全量预测库( [OP列表](../advanced_user_guides/support_operation_list.html#op) ) + + +### 支持功能 + + Paddle-Lite中的全量算子( [基础OP](../advanced_user_guides/support_operation_list.html#basic-operators) + [Extra OP](../advanced_user_guides/support_operation_list.html#extra-operators-build-extra-on) ) ### 特点 - 支持更多的硬件平台和算子,可以支持更多模型但体量更大。 + 包含更多算子、支持更多模型,但体量更大。 + +### 编译方法 +设置`--build_extra=ON` 可编译出全量预测库。例如: + +``` +./lite/tools/build.sh --arm_os=android --arm_abi=armv8 --arm_lang=gcc --android_stl=c++_static --build_extra=ON tiny_publish +``` diff --git a/docs/installation/release_lib.md b/docs/installation/release_lib.md index f0571e9f82..255c48c280 100644 --- a/docs/installation/release_lib.md +++ b/docs/installation/release_lib.md @@ -3,10 +3,17 @@ ## 编译版本介绍 -- ARM_Version=`armv7/armv8` 编译时选择的arm版本,v7或者v8 -- build_extra=`ON/OFF` 是否编译全量算子,OFF时只编译CV相关基础算子 -- arm_stl=`c++_static/c++_shared` 选择动态或者静态链接NDK STL库 -- target: `tiny_publish/full_publish` 是否编译full_api预测库,`tiny_publish`时只编译light_api预测库 +- ARM_Version=`armv7/armv8` arm版本,可选择armv7或者armv8 + +- arm_os=`android\ios\ios64\armlinux` 安装平台,支持的arm端移动平台包括 `ios\ios64`、`armlinux`和`android` + +- arm_lang=`gcc/clang` 源码编译时的编译器,默认为`gcc`编译器 + +- arm_stl=`c++_static/c++_shared` Lite预测库链接STL库的方式,支持静态或动态链接 + +- build_extra=`ON/OFF` 是否编译全量OP,OFF时只编译CV相关基础OP,[参数详情](./library.html) + +- `tiny_publish/full_publish` 编译模式,`tiny_publish`编译移动端部署库、`full_publish`编译部署库的同时编译第三方依赖库 ## Android @@ -35,16 +42,16 @@ |ARM Version|arm_os|with_extra|下载| |:-------:|:-----:|:-----:|:-----:| -|armv7|Ios|OFF|[release/v2.3](https://github.com/PaddlePaddle/Paddle-Lite/releases/download/v2.3.0/inference_lite_lib.ios.armv7.tar.gz)| +|armv7|ios|OFF|[release/v2.3](https://github.com/PaddlePaddle/Paddle-Lite/releases/download/v2.3.0/inference_lite_lib.ios.armv7.tar.gz)| |armv7|ios|ON|[release/v2.3](https://github.com/PaddlePaddle/Paddle-Lite/releases/download/v2.3.0/inference_lite_lib.ios.armv7.with_extra.tar.gz)| -|armv8|Ios64|OFF|[release/v2.3](https://github.com/PaddlePaddle/Paddle-Lite/releases/download/v2.3.0/inference_lite_lib.ios64.armv8.tar.gz)| -|armv8|Ios64|ON|[release/v2.3](https://github.com/PaddlePaddle/Paddle-Lite/releases/download/v2.3.0/inference_lite_lib.ios64.armv8.with_extra.tar.gz)| +|armv8|ios64|OFF|[release/v2.3](https://github.com/PaddlePaddle/Paddle-Lite/releases/download/v2.3.0/inference_lite_lib.ios64.armv8.tar.gz)| +|armv8|ios64|ON|[release/v2.3](https://github.com/PaddlePaddle/Paddle-Lite/releases/download/v2.3.0/inference_lite_lib.ios64.armv8.with_extra.tar.gz)| ## opt 工具 | 运行系统 | 下载 | -| :---------: | :--------------: | +| :---------: | :--------------: | | Linux | [release/v2.3](https://github.com/PaddlePaddle/Paddle-Lite/releases/download/v2.3.0/opt) | | MacOs | [release/v2.3](https://github.com/PaddlePaddle/Paddle-Lite/releases/download/v2.3.0/opt_mac) | -- GitLab