Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
Paddle-Lite
提交
51489510
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看板
未验证
提交
51489510
编写于
2月 17, 2020
作者:
H
huzhiqiang
提交者:
GitHub
2月 17, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[doc]modify opt doc for release/v2.3 (#2894)
上级
f467b3f2
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
128 addition
and
68 deletion
+128
-68
_all_pages/develop/cxx_api_doc.md
_all_pages/develop/cxx_api_doc.md
+26
-0
_all_pages/develop/model_optimize_tool.md
_all_pages/develop/model_optimize_tool.md
+37
-33
_all_pages/v2.2.0/cxx_api_doc.md
_all_pages/v2.2.0/cxx_api_doc.md
+28
-2
_all_pages/v2.2.0/model_optimize_tool.md
_all_pages/v2.2.0/model_optimize_tool.md
+37
-33
未找到文件。
_all_pages/develop/cxx_api_doc.md
浏览文件 @
51489510
...
...
@@ -283,8 +283,22 @@ config.set_power_mode(LITE_POWER_HIGH);
std
::
shared_ptr
<
PaddlePredictor
>
predictor
=
CreatePaddlePredictor
<
MobileConfig
>
(
config
);
```
## `set_model_from_file(model_dir)`
设置模型文件,当需要从磁盘加载模型时使用。
参数:
-
`model_dir(std::string)`
- 模型文件路径
返回:
`None`
返回类型:
`void`
## `set_model_dir(model_dir)`
注意
**
:Lite模型格式在release/v2.3.0之后修改,本接口为加载老格式模型的接口,将在release/v3.0.0废弃。建议替换为
`set_model_from_file`
接口。
设置模型文件夹路径,当需要从磁盘加载模型时使用。
参数:
...
...
@@ -309,10 +323,22 @@ std::shared_ptr<PaddlePredictor> predictor = CreatePaddlePredictor<MobileConfig>
返回类型:
`std::string`
## `set_model_from_buffer(model_buffer)`
设置模型的内存数据,当需要从内存加载模型时使用。
参数:
-
`model_buffer(std::string)`
- 内存中的模型数据
返回:
`None`
返回类型:
`void`
## `set_model_buffer(model_buffer, model_buffer_size, param_buffer, param_buffer_size)`
**注意**
:Lite模型格式在release/v2.3.0之后修改,本接口为加载老格式模型的接口,将在release/v3.0.0废弃。建议替换为
`set_model_from_buffer`
接口。
设置模型、参数的内存地址,当需要从内存加载模型时使用。
示例:
...
...
_all_pages/develop/model_optimize_tool.md
浏览文件 @
51489510
...
...
@@ -3,38 +3,42 @@ layout: post
title
:
模型转化方法
---
Lite架构在预测过程中表现出来的高性能得益于其丰富的优化组件,其中包括量化、子图融合、混合调度、Kernel优选等等策略。为了使优化过程更加方便易用,我们提供了
**
model_optimize_tool
**
来自动完成优化步骤,输出一个轻量的、最优的可执行模型。具体使用方法介绍如下:
Lite架构在预测过程中表现出来的高性能得益于其丰富的优化组件,其中包括量化、子图融合、混合调度、Kernel优选等等策略。为了使优化过程更加方便易用,我们提供了
**
opt
**
来自动完成优化步骤,输出一个轻量的、最优的可执行模型。具体使用方法介绍如下:
## 准备model_optimize_tool
当前获得model_optimize_tool方法有三种:
**注意**
:release/v2.2.0之前的模型转化工具名称为
`model_optimize_tool`
,从release/v2.3.0开始模型转化工具名称修改为
`opt`
1.
我们提供当前develop分支编译结果下载:
[
model_optimize_tool
](
https://paddlelite-data.bj.bcebos.com/model_optimize_tool/model_optimize_tool
)
、
[
model_optimize_tool_mac
](
https://paddlelite-data.bj.bcebos.com/model_optimize_tool/model_optimize_tool_mac
)
## 准备opt
当前获得opt方法有三种:
2.
可以进入Paddle-Lite Github仓库的
[
release界面
](
https://github.com/PaddlePaddle/Paddle-Lite/releases
)
,选择release版本下载对应的model_optimize_tool
1.
我们提供当前develop分支编译结果下载:
[
opt
](
https://paddlelite-data.bj.bcebos.com/model_optimize_tool/opt
)
、
[
opt_mac
](
https://paddlelite-data.bj.bcebos.com/model_optimize_tool/opt_mac
)
release/v2.2.0之前版本的model_optimize_tool:
[
model_optimize_tool
](
https://paddlelite-data.bj.bcebos.com/model_optimize_tool/model_optimize_tool
)
、
[
model_optimize_tool_mac
](
https://paddlelite-data.bj.bcebos.com/model_optimize_tool/model_optimize_tool_mac
)
3.
可以下载Paddle-Lite源码,从源码编译出model_optimize_tool工具
2.
可以进入Paddle-Lite Github仓库的
[
release界面
](
https://github.com/PaddlePaddle/Paddle-Lite/releases
)
,选择release版本下载对应的转化工具
`opt`
(release/v2.2.0之前的转化工具为model_optimize_tool、release/v2.3.0之后为opt)
3.
可以下载Paddle-Lite源码,从源码编译出opt工具
```
bash
git clone https://github.com/PaddlePaddle/Paddle-Lite.git
cd
Paddle-Lite
git checkout <release-version-tag>
./lite/tools/build.sh build_optimize_tool
```
编译结果位于
`Paddle-Lite/build.
model_optimize_tool/lite/api/model_optimize_tool
`
**注意**
:从源码编译
model_optimize_tool
前需要先
[
安装Paddle-Lite的开发环境
](
../source_compile
)
。
编译结果位于
`Paddle-Lite/build.
opt/lite/api/opt
`
**注意**
:从源码编译
opt
前需要先
[
安装Paddle-Lite的开发环境
](
../source_compile
)
。
## 使用
model_optimize_tool
## 使用
opt
model_optimize_tool
是x86平台上的可执行文件,需要在PC端运行:包括Linux终端和Mac终端。
opt
是x86平台上的可执行文件,需要在PC端运行:包括Linux终端和Mac终端。
### 帮助信息
执行
model_optimize_tool
时不加入任何输入选项,会输出帮助信息,提示当前支持的选项:
执行
opt
时不加入任何输入选项,会输出帮助信息,提示当前支持的选项:
```
bash
./
model_optimize_tool
./
opt
```
![](
https://paddlelite-data.bj.bcebos.com/doc_images
%2Fhelp
.png
)
![](
https://paddlelite-data.bj.bcebos.com/doc_images
/1
.png
)
### 功能一:转化模型为Paddle-Lite格式
model_optimize_tool
可以将PaddlePaddle支持的模型转化为Paddle-Lite支持的模型格式,期间执行的操作包括:将protobuf格式的模型文件转化为naive_buffer格式的模型文件,有效降低模型体积;执行“量化、子图融合、混合调度、Kernel优选”等图优化操作,提升其在Paddle-Lite上的运行速度、内存占用等性能指标。
opt
可以将PaddlePaddle支持的模型转化为Paddle-Lite支持的模型格式,期间执行的操作包括:将protobuf格式的模型文件转化为naive_buffer格式的模型文件,有效降低模型体积;执行“量化、子图融合、混合调度、Kernel优选”等图优化操作,提升其在Paddle-Lite上的运行速度、内存占用等性能指标。
模型优化过程:
...
...
@@ -48,21 +52,21 @@ PaddlePaddle模型有两种保存格式:
Seperated Param:参数信息分开保存在多个参数文件中,模型的拓扑信息保存在
`__model__`
文件中。
![
opt_seperated_model
](
https://paddlelite-data.bj.bcebos.com/doc_images%2Fseperated_model.png
)
(2) 终端中执行
`
model_optimize_tool
`
优化模型
(2) 终端中执行
`
opt
`
优化模型
**使用示例**
:转化
`mobilenet_v1`
模型
```
./
model_optimize_tool
--model_dir=./mobilenet_v1 --valid_targets=arm --optimize_out_type=naive_buffer --optimize_out=mobilenet_v1_opt
./
opt
--model_dir=./mobilenet_v1 --valid_targets=arm --optimize_out_type=naive_buffer --optimize_out=mobilenet_v1_opt
```
以上命令可以将
`mobilenet_v1`
模型转化为arm硬件平台、naive_buffer格式的Paddle_Lite支持模型,优化后的模型文件
位于
`mobilenet_v1_opt
`
,转化结果如下图所示:
以上命令可以将
`mobilenet_v1`
模型转化为arm硬件平台、naive_buffer格式的Paddle_Lite支持模型,优化后的模型文件
为
`mobilenet_v1_opt.nb
`
,转化结果如下图所示:
![
opt_resulted_model
](
https://paddlelite-data.bj.bcebos.com/doc_images
%2Fcombined_model
.png
)
![
opt_resulted_model
](
https://paddlelite-data.bj.bcebos.com/doc_images
/2
.png
)
(3)
**更详尽的转化命令**
总结:
```
shell
./
model_optimize_tool
\
./
opt
\
--model_dir
=
<model_param_dir>
\
--model_file
=
<model_path>
\
--param_file
=
<param_path>
\
...
...
@@ -90,34 +94,34 @@ PaddlePaddle模型有两种保存格式:
### 功能二:统计模型算子信息、判断是否支持
model_optimize_tool
可以统计并打印出model中的算子信息、判断Paddle-Lite是否支持该模型。并可以打印出当前Paddle-Lite的算子支持情况。
opt
可以统计并打印出model中的算子信息、判断Paddle-Lite是否支持该模型。并可以打印出当前Paddle-Lite的算子支持情况。
(1)使用
model_optimize_tool
统计模型中算子信息
(1)使用
opt
统计模型中算子信息
下面命令可以打印出mobilenet_v1模型中包含的所有算子,并判断在硬件平台
`valid_targets`
下Paddle-Lite是否支持该模型
`./
model_optimize_tool
--print_model_ops=true --model_dir=mobilenet_v1 --valid_targets=arm`
`./
opt
--print_model_ops=true --model_dir=mobilenet_v1 --valid_targets=arm`
![
opt_print_modelops
](
https://paddlelite-data.bj.bcebos.com/doc_images
%2Fmodel_support
.png
)
![
opt_print_modelops
](
https://paddlelite-data.bj.bcebos.com/doc_images
/3
.png
)
(2)使用
model_optimize_tool
打印当前Paddle-Lite支持的算子信息
(2)使用
opt
打印当前Paddle-Lite支持的算子信息
`./
model_optimize_tool
--print_all_ops=true`
`./
opt
--print_all_ops=true`
以上命令可以打印出当前Paddle-Lite支持的所有算子信息,包括OP的数量和每个OP支持哪些硬件平台:
![
opt_print_allops
](
https://paddlelite-data.bj.bcebos.com/doc_images
%2Fall_ops
.png
)
![
opt_print_allops
](
https://paddlelite-data.bj.bcebos.com/doc_images
/4
.png
)
`./
model_optimize_tool
----print_supported_ops=true --valid_targets=x86`
`./
opt
----print_supported_ops=true --valid_targets=x86`
以上命令可以打印出当
`valid_targets=x86`
时Paddle-Lite支持的所有OP:
![
opt_print_supportedops
](
https://paddlelite-data.bj.bcebos.com/doc_images
%2Fx86_ops
.png
)
![
opt_print_supportedops
](
https://paddlelite-data.bj.bcebos.com/doc_images
/5
.png
)
## 其他功能:合并x2paddle和
model_optimize_tool
的一键脚本
## 其他功能:合并x2paddle和
opt
的一键脚本
**背景**
:如果想用Paddle-Lite运行第三方来源(tensorflow、caffe、onnx)模型,一般需要经过两次转化。即使用x2paddle工具将第三方模型转化为PaddlePaddle格式,再使用
model_optimize_tool
将PaddlePaddle模型转化为Padde-Lite可支持格式。
为了简化这一过程,我们提供一键脚本,将x2paddle转化和
model_optimize_tool
转化合并:
**背景**
:如果想用Paddle-Lite运行第三方来源(tensorflow、caffe、onnx)模型,一般需要经过两次转化。即使用x2paddle工具将第三方模型转化为PaddlePaddle格式,再使用
opt
将PaddlePaddle模型转化为Padde-Lite可支持格式。
为了简化这一过程,我们提供一键脚本,将x2paddle转化和
opt
转化合并:
**一键转化脚本**
:
[
auto_transform.sh
](
https://paddlelite-data.bj.bcebos.com/model_optimize_tool/auto_transform.sh
)
...
...
@@ -132,7 +136,7 @@ model_optimize_tool可以统计并打印出model中的算子信息、判断Paddl
```
bash
USAGE:
auto_transform.sh combines the
function
of x2paddle and
model_optimize_tool
, it can
auto_transform.sh combines the
function
of x2paddle and
opt
, it can
tranform model from tensorflow/caffe/onnx form into paddle-lite naive-buffer form.
----------------------------------------
example:
...
...
@@ -151,7 +155,7 @@ Arguments about x2paddle:
For ONNX
--framework
=
onnx
--model
=
onnx_model.onnx
Arguments about
model_optimize_tool
:
Arguments about
opt
:
--valid_targets
=(
arm|opencl|x86|npu|xpu
)
;
valid targets on Paddle-Lite.
--fluid_save_dir
=
'path to outputed model after x2paddle'
--optimize_out
=
'path to outputed Paddle-Lite model'
...
...
_all_pages/v2.2.0/cxx_api_doc.md
浏览文件 @
51489510
...
...
@@ -233,7 +233,7 @@ predictor = create_paddle_predictor(config)
返回类型:
`int`
## `set_
cpu
_math_library_num_threads(threads)`
## `set_
x86
_math_library_num_threads(threads)`
设置CPU Math库线程数,CPU核心数支持情况下可加速预测。默认为1,并且仅在x86下有效。
...
...
@@ -246,7 +246,7 @@ predictor = create_paddle_predictor(config)
返回类型:
`None`
## `
cpu
_math_library_num_threads()`
## `
x86
_math_library_num_threads()`
返回CPU Math库线程数,CPU核心数支持情况下可加速预测。仅在x86下有效。
...
...
@@ -283,8 +283,22 @@ config.set_power_mode(LITE_POWER_HIGH);
std
::
shared_ptr
<
PaddlePredictor
>
predictor
=
CreatePaddlePredictor
<
MobileConfig
>
(
config
);
```
## `set_model_from_file(model_dir)`
设置模型文件,当需要从磁盘加载模型时使用。
参数:
-
`model_dir(std::string)`
- 模型文件路径
返回:
`None`
返回类型:
`void`
## `set_model_dir(model_dir)`
注意
**
:Lite模型格式在release/v2.3.0之后修改,本接口为加载老格式模型的接口,将在release/v3.0.0废弃。建议替换为
`set_model_from_file`
接口。
设置模型文件夹路径,当需要从磁盘加载模型时使用。
参数:
...
...
@@ -309,10 +323,22 @@ std::shared_ptr<PaddlePredictor> predictor = CreatePaddlePredictor<MobileConfig>
返回类型:
`std::string`
## `set_model_from_buffer(model_buffer)`
设置模型的内存数据,当需要从内存加载模型时使用。
参数:
-
`model_buffer(std::string)`
- 内存中的模型数据
返回:
`None`
返回类型:
`void`
## `set_model_buffer(model_buffer, model_buffer_size, param_buffer, param_buffer_size)`
**注意**
:Lite模型格式在release/v2.3.0之后修改,本接口为加载老格式模型的接口,将在release/v3.0.0废弃。建议替换为
`set_model_from_buffer`
接口。
设置模型、参数的内存地址,当需要从内存加载模型时使用。
示例:
...
...
_all_pages/v2.2.0/model_optimize_tool.md
浏览文件 @
51489510
...
...
@@ -3,38 +3,42 @@ layout: post
title
:
模型转化方法
---
Lite架构在预测过程中表现出来的高性能得益于其丰富的优化组件,其中包括量化、子图融合、混合调度、Kernel优选等等策略。为了使优化过程更加方便易用,我们提供了
**
model_optimize_tool
**
来自动完成优化步骤,输出一个轻量的、最优的可执行模型。具体使用方法介绍如下:
Lite架构在预测过程中表现出来的高性能得益于其丰富的优化组件,其中包括量化、子图融合、混合调度、Kernel优选等等策略。为了使优化过程更加方便易用,我们提供了
**
opt
**
来自动完成优化步骤,输出一个轻量的、最优的可执行模型。具体使用方法介绍如下:
## 准备model_optimize_tool
当前获得model_optimize_tool方法有三种:
**注意**
:release/v2.2.0之前的模型转化工具名称为
`model_optimize_tool`
,从release/v2.3.0开始模型转化工具名称修改为
`opt`
1.
我们提供当前develop分支编译结果下载:
[
model_optimize_tool
](
https://paddlelite-data.bj.bcebos.com/model_optimize_tool/model_optimize_tool
)
、
[
model_optimize_tool_mac
](
https://paddlelite-data.bj.bcebos.com/model_optimize_tool/model_optimize_tool_mac
)
## 准备opt
当前获得opt方法有三种:
2.
可以进入Paddle-Lite Github仓库的
[
release界面
](
https://github.com/PaddlePaddle/Paddle-Lite/releases
)
,选择release版本下载对应的model_optimize_tool
1.
我们提供当前develop分支编译结果下载:
[
opt
](
https://paddlelite-data.bj.bcebos.com/model_optimize_tool/opt
)
、
[
opt_mac
](
https://paddlelite-data.bj.bcebos.com/model_optimize_tool/opt_mac
)
release/v2.2.0之前版本的model_optimize_tool:
[
model_optimize_tool
](
https://paddlelite-data.bj.bcebos.com/model_optimize_tool/model_optimize_tool
)
、
[
model_optimize_tool_mac
](
https://paddlelite-data.bj.bcebos.com/model_optimize_tool/model_optimize_tool_mac
)
3.
可以下载Paddle-Lite源码,从源码编译出model_optimize_tool工具
2.
可以进入Paddle-Lite Github仓库的
[
release界面
](
https://github.com/PaddlePaddle/Paddle-Lite/releases
)
,选择release版本下载对应的转化工具
`opt`
(release/v2.2.0之前的转化工具为model_optimize_tool、release/v2.3.0之后为opt)
3.
可以下载Paddle-Lite源码,从源码编译出opt工具
```
bash
git clone https://github.com/PaddlePaddle/Paddle-Lite.git
cd
Paddle-Lite
git checkout <release-version-tag>
./lite/tools/build.sh build_optimize_tool
```
编译结果位于
`Paddle-Lite/build.
model_optimize_tool/lite/api/model_optimize_tool
`
**注意**
:从源码编译
model_optimize_tool
前需要先
[
安装Paddle-Lite的开发环境
](
../source_compile
)
。
编译结果位于
`Paddle-Lite/build.
opt/lite/api/opt
`
**注意**
:从源码编译
opt
前需要先
[
安装Paddle-Lite的开发环境
](
../source_compile
)
。
## 使用
model_optimize_tool
## 使用
opt
model_optimize_tool
是x86平台上的可执行文件,需要在PC端运行:包括Linux终端和Mac终端。
opt
是x86平台上的可执行文件,需要在PC端运行:包括Linux终端和Mac终端。
### 帮助信息
执行
model_optimize_tool
时不加入任何输入选项,会输出帮助信息,提示当前支持的选项:
执行
opt
时不加入任何输入选项,会输出帮助信息,提示当前支持的选项:
```
bash
./
model_optimize_tool
./
opt
```
![](
https://paddlelite-data.bj.bcebos.com/doc_images
%2Fhelp
.png
)
![](
https://paddlelite-data.bj.bcebos.com/doc_images
/1
.png
)
### 功能一:转化模型为Paddle-Lite格式
model_optimize_tool
可以将PaddlePaddle支持的模型转化为Paddle-Lite支持的模型格式,期间执行的操作包括:将protobuf格式的模型文件转化为naive_buffer格式的模型文件,有效降低模型体积;执行“量化、子图融合、混合调度、Kernel优选”等图优化操作,提升其在Paddle-Lite上的运行速度、内存占用等性能指标。
opt
可以将PaddlePaddle支持的模型转化为Paddle-Lite支持的模型格式,期间执行的操作包括:将protobuf格式的模型文件转化为naive_buffer格式的模型文件,有效降低模型体积;执行“量化、子图融合、混合调度、Kernel优选”等图优化操作,提升其在Paddle-Lite上的运行速度、内存占用等性能指标。
模型优化过程:
...
...
@@ -48,21 +52,21 @@ PaddlePaddle模型有两种保存格式:
Seperated Param:参数信息分开保存在多个参数文件中,模型的拓扑信息保存在
`__model__`
文件中。
![
opt_seperated_model
](
https://paddlelite-data.bj.bcebos.com/doc_images%2Fseperated_model.png
)
(2) 终端中执行
`
model_optimize_tool
`
优化模型
(2) 终端中执行
`
opt
`
优化模型
**使用示例**
:转化
`mobilenet_v1`
模型
```
./
model_optimize_tool
--model_dir=./mobilenet_v1 --valid_targets=arm --optimize_out_type=naive_buffer --optimize_out=mobilenet_v1_opt
./
opt
--model_dir=./mobilenet_v1 --valid_targets=arm --optimize_out_type=naive_buffer --optimize_out=mobilenet_v1_opt
```
以上命令可以将
`mobilenet_v1`
模型转化为arm硬件平台、naive_buffer格式的Paddle_Lite支持模型,优化后的模型文件
位于
`mobilenet_v1_opt
`
,转化结果如下图所示:
以上命令可以将
`mobilenet_v1`
模型转化为arm硬件平台、naive_buffer格式的Paddle_Lite支持模型,优化后的模型文件
为
`mobilenet_v1_opt.nb
`
,转化结果如下图所示:
![
opt_resulted_model
](
https://paddlelite-data.bj.bcebos.com/doc_images
%2Fcombined_model
.png
)
![
opt_resulted_model
](
https://paddlelite-data.bj.bcebos.com/doc_images
/2
.png
)
(3)
**更详尽的转化命令**
总结:
```
shell
./
model_optimize_tool
\
./
opt
\
--model_dir
=
<model_param_dir>
\
--model_file
=
<model_path>
\
--param_file
=
<param_path>
\
...
...
@@ -90,34 +94,34 @@ PaddlePaddle模型有两种保存格式:
### 功能二:统计模型算子信息、判断是否支持
model_optimize_tool
可以统计并打印出model中的算子信息、判断Paddle-Lite是否支持该模型。并可以打印出当前Paddle-Lite的算子支持情况。
opt
可以统计并打印出model中的算子信息、判断Paddle-Lite是否支持该模型。并可以打印出当前Paddle-Lite的算子支持情况。
(1)使用
model_optimize_tool
统计模型中算子信息
(1)使用
opt
统计模型中算子信息
下面命令可以打印出mobilenet_v1模型中包含的所有算子,并判断在硬件平台
`valid_targets`
下Paddle-Lite是否支持该模型
`./
model_optimize_tool
--print_model_ops=true --model_dir=mobilenet_v1 --valid_targets=arm`
`./
opt
--print_model_ops=true --model_dir=mobilenet_v1 --valid_targets=arm`
![
opt_print_modelops
](
https://paddlelite-data.bj.bcebos.com/doc_images
%2Fmodel_support
.png
)
![
opt_print_modelops
](
https://paddlelite-data.bj.bcebos.com/doc_images
/3
.png
)
(2)使用
model_optimize_tool
打印当前Paddle-Lite支持的算子信息
(2)使用
opt
打印当前Paddle-Lite支持的算子信息
`./
model_optimize_tool
--print_all_ops=true`
`./
opt
--print_all_ops=true`
以上命令可以打印出当前Paddle-Lite支持的所有算子信息,包括OP的数量和每个OP支持哪些硬件平台:
![
opt_print_allops
](
https://paddlelite-data.bj.bcebos.com/doc_images
%2Fall_ops
.png
)
![
opt_print_allops
](
https://paddlelite-data.bj.bcebos.com/doc_images
/4
.png
)
`./
model_optimize_tool
----print_supported_ops=true --valid_targets=x86`
`./
opt
----print_supported_ops=true --valid_targets=x86`
以上命令可以打印出当
`valid_targets=x86`
时Paddle-Lite支持的所有OP:
![
opt_print_supportedops
](
https://paddlelite-data.bj.bcebos.com/doc_images
%2Fx86_ops
.png
)
![
opt_print_supportedops
](
https://paddlelite-data.bj.bcebos.com/doc_images
/5
.png
)
## 其他功能:合并x2paddle和
model_optimize_tool
的一键脚本
## 其他功能:合并x2paddle和
opt
的一键脚本
**背景**
:如果想用Paddle-Lite运行第三方来源(tensorflow、caffe、onnx)模型,一般需要经过两次转化。即使用x2paddle工具将第三方模型转化为PaddlePaddle格式,再使用
model_optimize_tool
将PaddlePaddle模型转化为Padde-Lite可支持格式。
为了简化这一过程,我们提供一键脚本,将x2paddle转化和
model_optimize_tool
转化合并:
**背景**
:如果想用Paddle-Lite运行第三方来源(tensorflow、caffe、onnx)模型,一般需要经过两次转化。即使用x2paddle工具将第三方模型转化为PaddlePaddle格式,再使用
opt
将PaddlePaddle模型转化为Padde-Lite可支持格式。
为了简化这一过程,我们提供一键脚本,将x2paddle转化和
opt
转化合并:
**一键转化脚本**
:
[
auto_transform.sh
](
https://paddlelite-data.bj.bcebos.com/model_optimize_tool/auto_transform.sh
)
...
...
@@ -132,7 +136,7 @@ model_optimize_tool可以统计并打印出model中的算子信息、判断Paddl
```
bash
USAGE:
auto_transform.sh combines the
function
of x2paddle and
model_optimize_tool
, it can
auto_transform.sh combines the
function
of x2paddle and
opt
, it can
tranform model from tensorflow/caffe/onnx form into paddle-lite naive-buffer form.
----------------------------------------
example:
...
...
@@ -151,7 +155,7 @@ Arguments about x2paddle:
For ONNX
--framework
=
onnx
--model
=
onnx_model.onnx
Arguments about
model_optimize_tool
:
Arguments about
opt
:
--valid_targets
=(
arm|opencl|x86|npu|xpu
)
;
valid targets on Paddle-Lite.
--fluid_save_dir
=
'path to outputed model after x2paddle'
--optimize_out
=
'path to outputed Paddle-Lite model'
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录