Skip to content

Latest commit

 

History

History

tools

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

FastDeploy 工具包

FastDeploy提供了一系列高效易用的工具优化部署体验, 提升推理性能.

一键模型自动化压缩工具

FastDeploy基于PaddleSlim的Auto Compression Toolkit(ACT), 给用户提供了一键模型自动化压缩的工具, 用户可以轻松地通过一行命令对模型进行自动化压缩, 并在FastDeploy上部署压缩后的模型, 提升推理速度. 本文档将以FastDeploy一键模型自动化压缩工具为例, 介绍如何安装此工具, 并提供相应的使用文档.

环境准备

1.用户参考PaddlePaddle官网, 安装Paddle 2.4 版本

https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/develop/install/pip/linux-pip.html

2.安装PaddleSlim 2.4 版本

pip install paddleslim==2.4.0

3.安装fastdeploy-tools工具包

# 通过pip安装fastdeploy-tools. 此工具包目前支持模型一键自动化压缩和模型转换的功能.
# FastDeploy的python包已包含此工具, 不需重复安装.
pip install fastdeploy-tools==0.0.1

一键模型自动化压缩工具的使用

按照以上步骤成功安装后,即可使用FastDeploy一键模型自动化压缩工具, 示例如下.

fastdeploy compress --config_path=./configs/detection/yolov5s_quant.yaml --method='PTQ' --save_dir='./yolov5s_ptq_model/'

详细使用文档请参考FastDeploy一键模型自动化压缩工具

模型转换工具

FastDeploy 基于 X2Paddle 为用户提供了模型转换的工具, 用户可以轻松地通过一行命令将外部框架模型快速迁移至飞桨框架,目前支持 ONNX、TensorFlow 以及 Caffe,支持大部分主流的CV和NLP的模型转换。

环境准备

  1. PaddlePaddle 安装,可参考如下文档快速安装
https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/develop/install/pip/linux-pip.html
  1. X2Paddle 安装

如需使用稳定版本,可通过pip方式安装X2Paddle:

pip install x2paddle

如需体验最新功能,可使用源码安装方式:

git clone https://github.com/PaddlePaddle/X2Paddle.git
cd X2Paddle
python setup.py install

使用方式

按照以上步骤成功安装后,即可使用 FastDeploy 一键转换工具, 示例如下:

fastdeploy convert --framework onnx --model yolov5s.onnx --save_dir pd_model

更多详细内容可参考X2Paddle

paddle2coreml工具

FastDeploy 基于 paddle2coreml 为用户提供了模型转换的工具, 用户可以轻松地通过一行命令将飞桨模型快速迁移至苹果电脑和手机端。

环境准备

  1. PaddlePaddle 安装,可参考如下文档快速安装
https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/develop/install/pip/linux-pip.html
  1. paddle2coreml 安装

可通过pip方式安装paddle2coreml:

pip install paddle2coreml
  1. 使用方式

按照以上步骤成功安装后,即可使用 FastDeploy paddle2coreml 一键转换工具, 示例如下:

fastdeploy paddle2coreml --p2c_paddle_model_dir path/to/paddle_model --p2c_coreml_model_dir path/to/coreml_model --p2c_input_names "input1 input2" --p2c_input_shapes "1,3,224,224 1,4,64,64" --p2c_input_dtypes "float32 int32" --p2c_output_names "output1 output2" 

注意,--p2c_input_names 与 --p2c_output_names 两个参数须与paddle模型的输入输出名字一致。