Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
X2Paddle
提交
399dc06a
X
X2Paddle
项目概览
PaddlePaddle
/
X2Paddle
大约 1 年 前同步成功
通知
328
Star
698
Fork
167
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
26
列表
看板
标记
里程碑
合并请求
4
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
X
X2Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
26
Issue
26
列表
看板
标记
里程碑
合并请求
4
合并请求
4
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
399dc06a
编写于
6月 09, 2021
作者:
Z
Zeyu Chen
提交者:
GitHub
6月 09, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update README.md
上级
2cb40b84
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
37 addition
and
30 deletion
+37
-30
README.md
README.md
+37
-30
未找到文件。
README.md
浏览文件 @
399dc06a
# X2Paddle
# X2Paddle
[
![PyPI - X2Paddle Version
](
https://img.shields.io/pypi/v/x2paddle.svg?label=pip&logo=PyPI&logoColor=white
)
](https://pypi.org/project/x2paddle/)
[
![PyPI Status
](
https://pepy.tech/badge/x2paddle/month
)
](https://pepy.tech/project/x2paddle)
[
![License
](
https://img.shields.io/badge/license-Apache%202-blue.svg
)
](LICENSE)
[
![License
](
https://img.shields.io/badge/license-Apache%202-blue.svg
)
](LICENSE)
[
![Version
](
https://img.shields.io/github/release/PaddlePaddle/X2Paddle.svg
)
](https://github.com/PaddlePaddle/X2Paddle/releases)
[
![Version
](
https://img.shields.io/github/release/PaddlePaddle/X2Paddle.svg
)
](https://github.com/PaddlePaddle/X2Paddle/releases)
![
python version
](
https://img.shields.io/badge/python-3.5+-orange.svg
)
![
python version
](
https://img.shields.io/badge/python-3.5+-orange.svg
)
## 简介
## 简介
X2Paddle
致力于帮助其它主流深度学习框架用户快速迁移至飞桨框架,并为此提供了预测模型/训练代码的一键转换工具,以及框架间的API对比文档,提升用户在开发过程中的迁移效率,降低框架间迁移
的学习成本。
X2Paddle
是飞桨生态下的模型转换工具,致力于帮助其它深度学习框架用户快速迁移至飞桨框架。目前支持
**推理模型的框架转换**
与
**PyTorch训练代码迁移**
,我们还提供了详细的不同框架间API对比文档,降低开发者上手飞桨核心
的学习成本。
...
@@ -44,14 +46,23 @@ X2Paddle致力于帮助其它主流深度学习框架用户快速迁移至飞桨
...
@@ -44,14 +46,23 @@ X2Paddle致力于帮助其它主流深度学习框架用户快速迁移至飞桨
## 安装
## 安装
### 环境依赖
-
python >= 3.5
-
python >= 3.5
-
paddlepaddle >= 2.0.0
-
paddlepaddle >= 2.0.0
-
tensorflow == 1.14
.0 (仅在转换TensorFlow模型时需要
)
-
tensorflow == 1.14
(如需转换TensorFlow模型
)
-
onnx >= 1.6.0 (
仅在转换ONNX模型时需要
)
-
onnx >= 1.6.0 (
如需转换ONNX模型
)
-
torch >= 1.5.0 (
仅在转换PyTorch模型时需要
)
-
torch >= 1.5.0 (
如需转换PyTorch模型
)
###
方式一:源码安装
###
pip安装(推荐)
如需使用稳定版本,可通过pip方式安装X2Paddle:
```
pip install x2paddle
```
### 源码安装
如需体验最新功能,可使用源码安装方式:
```
```
git clone https://github.com/PaddlePaddle/X2Paddle.git
git clone https://github.com/PaddlePaddle/X2Paddle.git
cd X2Paddle
cd X2Paddle
...
@@ -59,27 +70,23 @@ git checkout develop
...
@@ -59,27 +70,23 @@ git checkout develop
python setup.py install
python setup.py install
```
```
##
# 方式二:pip安装(推荐)
##
快速开始
我们会定期更新pip源上的x2paddle版本
### 功能一:推理模型转换
#### TensorFlow模型转换
```
shell
x2paddle
--framework
=
tensorflow
--model
=
tf_model.pb
--save_dir
=
pd_model
```
```
pip install x2paddle --index https://pypi.python.org/simple/
```
## 快速开始
### 功能一:预测模型转换
#### ONNX模型转换
```
shell
x2paddle
--framework
=
onnx
--model
=
onnx_model.onnx
--save_dir
=
pd_model
```
#### Caffe模型转换
```
shell
```
shell
# TensorFlow模型转换
x2paddle
--framework
=
tensorflow
--model
=
tf_model.pb
--save_dir
=
pd_model
# Caffe模型转换
x2paddle
--framework
=
caffe
--prototxt
=
deploy.prototxt
--weight
=
deploy.caffemodel
--save_dir
=
pd_model
x2paddle
--framework
=
caffe
--prototxt
=
deploy.prototxt
--weight
=
deploy.caffemodel
--save_dir
=
pd_model
# ONNX模型转换
x2paddle
--framework
=
onnx
--model
=
onnx_model.onnx
--save_dir
=
pd_model
# PyTorch模型转换 目前不支持命令行形式转换,参考下面链接文档进行转换
https://github.com/PaddlePaddle/X2Paddle/blob/develop/docs/inference_model_convertor/pytorch2paddle.md
```
```
#### 转换参数说明
#### 转换参数说明
...
@@ -94,7 +101,7 @@ https://github.com/PaddlePaddle/X2Paddle/blob/develop/docs/inference_model_conve
...
@@ -94,7 +101,7 @@ https://github.com/PaddlePaddle/X2Paddle/blob/develop/docs/inference_model_conve
| --caffe_proto |
**[可选]**
由caffe.proto编译成caffe_pb2.py文件的存放路径,当存在自定义Layer时使用,默认为None |
| --caffe_proto |
**[可选]**
由caffe.proto编译成caffe_pb2.py文件的存放路径,当存在自定义Layer时使用,默认为None |
| --define_input_shape |
**[可选]**
For TensorFlow, 当指定该参数时,强制用户输入每个Placeholder的shape,见
[
文档Q2
](
./docs/inference_model_convertor/FAQ.md
)
|
| --define_input_shape |
**[可选]**
For TensorFlow, 当指定该参数时,强制用户输入每个Placeholder的shape,见
[
文档Q2
](
./docs/inference_model_convertor/FAQ.md
)
|
### 功能二:PyTorch
训练项目转换
### 功能二:PyTorch
模型训练迁移
项目转换包括3个步骤
项目转换包括3个步骤
...
@@ -113,14 +120,10 @@ https://github.com/PaddlePaddle/X2Paddle/blob/develop/docs/inference_model_conve
...
@@ -113,14 +120,10 @@ https://github.com/PaddlePaddle/X2Paddle/blob/develop/docs/inference_model_conve
## 更新历史
## 更新历史
**202
0.12.09
**
**202
1.05.13
**
1.
新增PyTorch2Paddle转换方式,转换得到Paddle动态图代码,并动转静获得inference_model。
-
新增PyTorch训练项目功能:
方式一:trace方式,转换后的代码有模块划分,每个模块的功能与PyTorch相同。
支持转换的项目有
[
StarGAN
](
https://github.com/yunjey/stargan
)
、
[
Ultra-Light-Fast-Generic-Face-Detector-1MB
](
https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB
)
。
方式二:script方式,转换后的代码按执行顺序逐行出现。
2.
新增Caffe/ONNX/Tensorflow到Paddle动态图的转换。
3.
新增TensorFlow op映射(14个):Neg、Greater、FloorMod、LogicalAdd、Prd、Equal、Conv3D、Ceil、AddN、DivNoNan、Where、MirrorPad、Size、TopKv2。
4.
新增Optimizer模块,主要包括op融合、op消除功能,转换后的代码可读性更强,进行预测时耗时更短。
**2021.04.30**
**2021.04.30**
...
@@ -131,10 +134,14 @@ https://github.com/PaddlePaddle/X2Paddle/blob/develop/docs/inference_model_conve
...
@@ -131,10 +134,14 @@ https://github.com/PaddlePaddle/X2Paddle/blob/develop/docs/inference_model_conve
5.
新增ONNX op映射(1个):DepthToSpace。
5.
新增ONNX op映射(1个):DepthToSpace。
6.
新增Caffe op映射(1个):MemoryData。
6.
新增Caffe op映射(1个):MemoryData。
**202
1.05.13
**
**202
0.12.09
**
-
新增PyTorch训练项目功能:
1.
新增PyTorch2Paddle转换方式,转换得到Paddle动态图代码,并动转静获得inference_model。
支持转换的项目有
[
StarGAN
](
https://github.com/yunjey/stargan
)
、
[
Ultra-Light-Fast-Generic-Face-Detector-1MB
](
https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB
)
。
方式一:trace方式,转换后的代码有模块划分,每个模块的功能与PyTorch相同。
方式二:script方式,转换后的代码按执行顺序逐行出现。
2.
新增Caffe/ONNX/Tensorflow到Paddle动态图的转换。
3.
新增TensorFlow op映射(14个):Neg、Greater、FloorMod、LogicalAdd、Prd、Equal、Conv3D、Ceil、AddN、DivNoNan、Where、MirrorPad、Size、TopKv2。
4.
新增Optimizer模块,主要包括op融合、op消除功能,转换后的代码可读性更强,进行预测时耗时更短。
## :hugs:贡献代码:hugs:
## :hugs:贡献代码:hugs:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录