X2Paddle 项目介绍
简介
X2Paddle 是飞桨生态中的一款模型转换工具,专门帮助用户将其他深度学习框架的模型快速迁移到飞桨框架中。它支持推理模型的框架转换和 PyTorch 训练代码的迁移,并提供框架间 API 对比文档,帮助开发者减少模型迁移至飞桨的时间。
特性
-
支持多种深度学习框架
X2Paddle 支持四大主流框架的模型转换,包括 Caffe、TensorFlow、ONNX 和 PyTorch。用户可以轻松将这些框架的预测模型切换到飞桨上。
-
丰富的模型支持
X2Paddle 能转换许多主流的计算机视觉和自然语言处理模型。具体说,它支持 130 多个 PyTorch 操作,90 多个 ONNX 和 TensorFlow 操作,以及 30 多个 Caffe 操作。
-
简洁的操作
用户只需通过一行命令或使用一个 API,就能完成模型转换,操作简单快捷。
能力
-
预测模型转换
支持将 Caffe、TensorFlow、ONNX 及 PyTorch 的模型一键转换为飞桨的预测模型,并通过 PaddleInference/PaddleLite 部署在 CPU、GPU 和 Arm 设备上。
-
PyTorch 训练项目转换
X2Paddle 能将 PyTorch 项目的 Python 代码直接转为基于飞桨框架的代码。开发者可以快速迁移项目,同时享受到 AIStudio 平台提供的丰富免费计算资源。
-
API 对应文档
提供详细的 API 文档对比,帮助开发者从 PyTorch 框架无缝过渡到飞桨框架,极大地降低学习成本。
安装
-
环境依赖
- Python 版本需在 3.5 及以上。
- paddlepaddle 需在版本 2.2.2 至 2.4.2 之间。
- tensorflow 需要 1.14 版本(若需转换 TensorFlow 模型)。
- onnx 需在 1.6.0 及以上(若需转换 ONNX 模型)。
- torch 需在 1.5.0 及以上(若需转换 PyTorch 模型)。
- paddlelite 需在 2.9.0 及以上(若需一键转换成 Paddle-Lite 支持格式,推荐使用最新版本)。
-
使用 pip 安装
对于稳定版本,推荐通过 pip 安装:
pip install x2paddle
-
源码安装
想体验最新功能的用户可以通过以下方式安装:
git clone https://github.com/PaddlePaddle/X2Paddle.git cd X2Paddle git checkout develop python setup.py install
快速开始
功能一:推理模型转换
-
PyTorch 模型转换示例
使用以下代码可以完成 PyTorch 模型的转换:
from x2paddle.convert import pytorch2paddle pytorch2paddle(module=torch_module, save_dir="./pd_model", jit_type="trace", input_examples=[torch_input])
-
TensorFlow、ONNX与Caffe模型转换
使用一行命令转换相应框架的模型:
x2paddle --framework=tensorflow --model=tf_model.pb --save_dir=pd_model x2paddle --framework=onnx --model=onnx_model.onnx --save_dir=pd_model x2paddle --framework=caffe --prototxt=deploy.prototxt --weight=deploy.caffemodel --save_dir=pd_model
使用教程及贡献
X2Paddle 提供了丰富的使用教程,帮助用户学习如何转换不同框架的模型。此外,X2Paddle 欢迎社区贡献代码,用户可通过 Issue 和 Pull Request 提出意见或贡献代码,以帮助完善工具功能。