Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
Paddle-Lite
提交
ee7f9c5d
P
Paddle-Lite
项目概览
PaddlePaddle
/
Paddle-Lite
通知
331
Star
4
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
271
列表
看板
标记
里程碑
合并请求
78
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle-Lite
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
271
Issue
271
列表
看板
标记
里程碑
合并请求
78
合并请求
78
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
ee7f9c5d
编写于
5月 09, 2020
作者:
H
huzhiqiang
提交者:
GitHub
5月 09, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[Doc][Compile] Fix Android compiling doc (#3597)
上级
3b2d08a6
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
17 addition
and
10 deletion
+17
-10
docs/user_guides/Compile/Android.md
docs/user_guides/Compile/Android.md
+1
-1
docs/user_guides/library_tailoring.md
docs/user_guides/library_tailoring.md
+16
-9
未找到文件。
docs/user_guides/Compile/Android.md
浏览文件 @
ee7f9c5d
...
@@ -63,7 +63,7 @@ inference_lite_lib.android.armv8/
...
@@ -63,7 +63,7 @@ inference_lite_lib.android.armv8/
-
其他可选编译命令:
-
其他可选编译命令:
```
shell
```
shell
--ar
m_abi
:
(
armv8|armv7
)
arm版本,默认为armv8
--ar
ch
:
(
armv8|armv7
)
arm版本,默认为armv8
--toolchain
:
(
gcc|clang
)
编译器类型,默认为gcc
--toolchain
:
(
gcc|clang
)
编译器类型,默认为gcc
--android_stl
:
(
c++_static|c++_shared|gnu_static|gnu_shared
)
NDK stl库链接方法,默认为静态链接c++_static
--android_stl
:
(
c++_static|c++_shared|gnu_static|gnu_shared
)
NDK stl库链接方法,默认为静态链接c++_static
--with_java
:
(
OFF|ON
)
是否编译Java预测库, 默认为 ON
--with_java
:
(
OFF|ON
)
是否编译Java预测库, 默认为 ON
...
...
docs/user_guides/library_tailoring.md
浏览文件 @
ee7f9c5d
...
@@ -24,22 +24,29 @@ Paddle-Lite支持**根据模型裁剪预测库**功能。Paddle-Lite的一般编
...
@@ -24,22 +24,29 @@ Paddle-Lite支持**根据模型裁剪预测库**功能。Paddle-Lite的一般编
### 1、转化模型时记录优化后模型信息
### 1、转化模型时记录优化后模型信息
说明:使用model_optimize_tool转化模型时,选择
`--record_tailoring_info =true`
会将优化后模型的OP和kernel信息保存到输出文件夹,这些信息将用于编译裁剪后的动态库。
说明:使用
`opt`
转化模型时,选择
`--record_tailoring_info =true`
会将优化后模型的OP和kernel信息保存到输出文件夹,这些信息将用于编译裁剪后的动态库。
注意:需要使用Paddle-Lite 最新版本(release/v2.0.0之后)代码编译出的model_optimize_tool
例如:
例如:
```
bash
```
bash
./
model_optimize_tool
--model_dir
=
./mobilenet_v1
--optimize_out_type
=
naive_buffer
--optimize_out
=
mobilenet_v1NB
--record_tailoring_info
=
true
--valid_targets
=
arm
./
opt
--model_dir
=
./mobilenet_v1
--optimize_out_type
=
naive_buffer
--optimize_out
=
mobilenet_v1NB
--record_tailoring_info
=
true
--valid_targets
=
arm
```
```
效果:优化后模型使用的
OP和kernel
信息被保存在
`mobilenet_v1NB`
文件夹中的隐藏文件里了
效果:优化后模型使用的
`OP`
和
`kernel`
信息被保存在
`mobilenet_v1NB`
文件夹中的隐藏文件里了
### 2、根据模型信息编译裁剪后的预测库
### 2、根据模型信息编译裁剪后的预测库
说明:编译Paddle-Lite时选择
`--build_tailor=ON`
,并且用
`–-opt_model_dir=`
指定优化后的模型的地址
说明:编译Paddle-Lite时选择
`--build_tailor=ON`
,并且用
`–-opt_model_dir=`
指定优化后的模型的地址
例如:
例如:
**release/v2.6.0以后版本或develop分支使用以下命令**
:
```
bash
./lite/tools/build_android.sh
--with_strip
=
ON
--opt_model_dir
=
../mobilenet_v1NB
```
**release/v2.3之前版本使用以下命令**
:
```
bash
```
bash
./lite/tools/build.sh
--arm_os
=
android
--arm_abi
=
armv
7
--arm_lang
=
gcc
--android_stl
=
c++_static
--build_extra
=
ON
--build_tailor
=
ON
--opt_model_dir
=
../mobilenet_v1NB tiny_publish
./lite/tools/build.sh
--arm_os
=
android
--arm_abi
=
armv
8
--arm_lang
=
gcc
--android_stl
=
c++_static
--build_extra
=
ON
--build_tailor
=
ON
--opt_model_dir
=
../mobilenet_v1NB tiny_publish
```
```
**注意**
:上面命令中的
`../mobilenet_v1NB`
是第1步得到的转化模型的输出路径
**注意**
:上面命令中的
`../mobilenet_v1NB`
是第1步得到的转化模型的输出路径
...
@@ -148,13 +155,13 @@ int main(int argc, char** argv) {
...
@@ -148,13 +155,13 @@ int main(int argc, char** argv) {
## 按模型集合裁剪预测库
## 按模型集合裁剪预测库
为了方便用户使用,我们同时提供了按模型集合进行预测库裁剪的功能。用户可以提供一个模型集合,
Model Optimize Tool
会根据用户所指定的模型集合分析其
**优化后的**
模型所需要的算子信息对预测库进行裁剪。使用此功能用户根据自己的需要使用模型集合来对预测库中的算子进行任意裁剪。
为了方便用户使用,我们同时提供了按模型集合进行预测库裁剪的功能。用户可以提供一个模型集合,
opt
会根据用户所指定的模型集合分析其
**优化后的**
模型所需要的算子信息对预测库进行裁剪。使用此功能用户根据自己的需要使用模型集合来对预测库中的算子进行任意裁剪。
使用方法如下所示:
使用方法如下所示:
```
shell
```
shell
# 非combined模型集合
# 非combined模型集合
./
model_optimize_tool
\
./
opt
\
--model_set_dir
=
<your_model_set_dir>
\
--model_set_dir
=
<your_model_set_dir>
\
--optimize_out_type
=
naive_buffer
\
--optimize_out_type
=
naive_buffer
\
--optimize_out
=
<output_model_set_dir>
\
--optimize_out
=
<output_model_set_dir>
\
...
@@ -162,7 +169,7 @@ int main(int argc, char** argv) {
...
@@ -162,7 +169,7 @@ int main(int argc, char** argv) {
--valid_targets
=
arm
--valid_targets
=
arm
# combined模型集合
# combined模型集合
./
model_optimize_tool
\
./
opt
\
--model_set_dir
=
<your_model_set_dir>
\
--model_set_dir
=
<your_model_set_dir>
\
--optimize_out_type
=
naive_buffer
\
--optimize_out_type
=
naive_buffer
\
--model_filename
=
<model_topo_filename>
\
--model_filename
=
<model_topo_filename>
\
...
@@ -172,7 +179,7 @@ int main(int argc, char** argv) {
...
@@ -172,7 +179,7 @@ int main(int argc, char** argv) {
--valid_targets
=
arm
--valid_targets
=
arm
```
```
经过以上步骤后会在
`<output_model_set_dir>`
中生成模型集合中各模型对应的
NaiveBuffer
格式的优化模型。此步会对模型集合中所需算子信息进行搜集并存储到
`<output_model_set_dir>`
中。下一步编译预测库的流程与使用单模型进行预测库裁剪步骤相同。
经过以上步骤后会在
`<output_model_set_dir>`
中生成模型集合中各模型对应的
`NaiveBuffer`
格式的优化模型。此步会对模型集合中所需算子信息进行搜集并存储到
`<output_model_set_dir>`
中。下一步编译预测库的流程与使用单模型进行预测库裁剪步骤相同。
**注意:**
**注意:**
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录