Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
Paddle-Lite
提交
48a507be
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看板
未验证
提交
48a507be
编写于
2月 22, 2020
作者:
Y
Yan Chunwei
提交者:
GitHub
2月 22, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update model_optimize_tool.md
上级
f0b9d2ce
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
17 addition
and
8 deletion
+17
-8
docs/user_guides/model_optimize_tool.md
docs/user_guides/model_optimize_tool.md
+17
-8
未找到文件。
docs/user_guides/model_optimize_tool.md
浏览文件 @
48a507be
# 模型转化方法
# 模型转化方法
Lite架构在预测过程中表现出来的高性能得益于其丰富的优化组件,其中包括量化、子图融合、混合调度、Kernel优选等等策略。为了使优化过程更加方便易用,我们提供了
**opt**
来自动完成优化步骤,输出一个轻量的、最优的可执行模型。具体使用方法介绍如下:
Paddle-Lite 提供了多种策略来自动优化原始的训练模型,其中包括量化、子图融合、混合调度、Kernel优选等等方法。为了使优化过程更加方便易用,我们提供了
**opt**
工具来自动完成优化步骤,输出一个轻量的、最优的可执行模型。
具体使用方法介绍如下:
**注意**
:release/v2.2.0之前的模型转化工具名称为
`model_optimize_tool`
,从release/v2.3开始模型转化工具名称修改为
`opt`
**注意**
:release/v2.2.0之前的模型转化工具名称为
`model_optimize_tool`
,从release/v2.3开始模型转化工具名称修改为
`opt`
## 准备opt
## 准备opt
当前获得opt方法有三种:
当前获得opt方法有三种:
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
)
1.
**推荐!**
可以进入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)
2.
我们提供当前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
)
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
)
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工具
3.
如果 release 列表里的工具不符合您的环境,可以下载Paddle-Lite 源码,
源码编译出opt工具
```
bash
```
bash
git clone https://github.com/PaddlePaddle/Paddle-Lite.git
git clone https://github.com/PaddlePaddle/Paddle-Lite.git
cd
Paddle-Lite
cd
Paddle-Lite
...
@@ -26,7 +29,7 @@ git checkout <release-version-tag>
...
@@ -26,7 +29,7 @@ git checkout <release-version-tag>
## 使用opt
## 使用opt
opt是
x86平台上的可执行文件,需要在PC端运行:包括
Linux终端和Mac终端。
opt是
x86 平台上的可执行文件,需要在PC端运行:支持
Linux终端和Mac终端。
### 帮助信息
### 帮助信息
执行opt时不加入任何输入选项,会输出帮助信息,提示当前支持的选项:
执行opt时不加入任何输入选项,会输出帮助信息,提示当前支持的选项:
...
@@ -36,7 +39,10 @@ opt是x86平台上的可执行文件,需要在PC端运行:包括Linux终端
...
@@ -36,7 +39,10 @@ opt是x86平台上的可执行文件,需要在PC端运行:包括Linux终端
![](
https://paddlelite-data.bj.bcebos.com/doc_images/1.png
)
![](
https://paddlelite-data.bj.bcebos.com/doc_images/1.png
)
### 功能一:转化模型为Paddle-Lite格式
### 功能一:转化模型为Paddle-Lite格式
opt可以将PaddlePaddle支持的模型转化为Paddle-Lite支持的模型格式,期间执行的操作包括:将protobuf格式的模型文件转化为naive_buffer格式的模型文件,有效降低模型体积;执行“量化、子图融合、混合调度、Kernel优选”等图优化操作,提升其在Paddle-Lite上的运行速度、内存占用等性能指标。
opt可以将PaddlePaddle的部署模型格式转化为Paddle-Lite 支持的模型格式,期间执行的操作包括:
-
将protobuf格式的模型文件转化为naive_buffer格式的模型文件,有效降低模型体积
-
执行“量化、子图融合、混合调度、Kernel优选”等图优化操作,提升其在Paddle-Lite上的运行速度、内存占用等效果
模型优化过程:
模型优化过程:
...
@@ -54,7 +60,10 @@ PaddlePaddle模型有两种保存格式:
...
@@ -54,7 +60,10 @@ PaddlePaddle模型有两种保存格式:
**使用示例**
:转化
`mobilenet_v1`
模型
**使用示例**
:转化
`mobilenet_v1`
模型
```
```
./opt --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.nb`
,转化结果如下图所示:
以上命令可以将
`mobilenet_v1`
模型转化为arm硬件平台、naive_buffer格式的Paddle_Lite支持模型,优化后的模型文件为
`mobilenet_v1_opt.nb`
,转化结果如下图所示:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录