model_optimize_tool.md 2.6 KB
Newer Older
1

2
# 模型优化工具 opt
3

H
huzhiqiang 已提交
4
Paddle-Lite 提供了多种策略来自动优化原始的训练模型,其中包括量化、子图融合、混合调度、Kernel优选等等方法。为了使优化过程更加方便易用,我们提供了**opt** 工具来自动完成优化步骤,输出一个轻量的、最优的可执行模型。
5

H
huzhiqiang 已提交
6 7
具体使用方法介绍如下:

8
**注意**`v2.2.0` 之前的模型转化工具名称为`model_optimize_tool`,从 `v2.3` 开始模型转化工具名称修改为 `opt`,从`v2.6.0`开始支持python调用`opt`转化模型(Windows/Ubuntu/Mac)
9 10

## 准备opt
11
当前获得`opt`工具的方法有三种:
12

13
- 方法一: 安装opt的python版本
14

15
安装`paddlelite` python库,安装成功后调用opt转化模型(支持`windows\Mac\Ubuntu`
16 17

```bash
18
pip install paddlelite
19 20
```

21 22
- 方法二: 下载opt可执行文件
[release界面](https://github.com/PaddlePaddle/Paddle-Lite/releases),选择当前预测库对应版本的`opt`转化工具
H
huzhiqiang 已提交
23

H
huzhiqiang 已提交
24
本文提供`release/v2.6.1``release/v2.2.0`版本的优化工具下载
25

26 27
|版本 | Linux | MacOS|
|---|---|---|
H
huzhiqiang 已提交
28
| `release/v2.6.1` | [opt](https://paddlelite-data.bj.bcebos.com/Release/2.6.1/opt/opt) | [opt_mac](https://paddlelite-data.bj.bcebos.com/Release/2.6.1/opt/opt_mac) |
29
|`release/v2.2.0`  | [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) |
30

31 32
- 方法三: 源码编译opt
源码编译 opt 可执行文件
33 34

```
35
cd Paddle-Lite && ./lite/tools/build.sh build_optimize_tool
36 37
```

38 39 40
编译结果位于`build.opt/lite/api/`下的可执行文件`opt`

## 使用opt
41

42
当前使用`opt`工具转化模型的方法有以下三种:
43

44 45 46 47
- 方法一: [安装 python版本opt后,使用终端命令](./opt/opt_python) (支持Mac/Ubuntu)
- 方法二: [安装python版本opt后,使用python脚本](../api_reference/python_api/opt)(支持window/Mac/Ubuntu)
- 方法三:[直接下载并执行opt可执行工具](./opt/opt_bin)(支持Mac/Ubuntu)
- Q&A:如何安装python版本opt ?
48

49
可以通过以下命令安装paddlelite的python库(支持`windows/Mac/Ubuntu`):
50
```shell
51
pip install paddlelite
52 53 54 55
```



56
## 合并x2paddle和opt的一键脚本
57 58

**背景**:如果想用Paddle-Lite运行第三方来源(tensorflow、caffe、onnx)模型,一般需要经过两次转化。即使用x2paddle工具将第三方模型转化为PaddlePaddle格式,再使用opt将PaddlePaddle模型转化为Padde-Lite可支持格式。
59
为了简化这一过程,我们提供了:
60

61
 [合并x2paddle和opt的一键脚本](./opt/x2paddle&opt)