Skip to content

Commit 813a5b2

Browse files
author
channingss
committed
update readme.md
1 parent 8a4a330 commit 813a5b2

File tree

4 files changed

+30
-9
lines changed

4 files changed

+30
-9
lines changed

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ paddlepaddle >= 1.5.0
1010
**以下依赖只需对应安装自己需要的即可**
1111
转换tensorflow模型 : tensorflow == 1.14.0
1212
转换caffe模型 : caffe == 1.0.0
13-
13+
转换onnx模型 : onnx == 1.5.0 pytorch == 1.5.0(optional for dynamic graph)
1414
## 安装
1515
```
1616
pip install x2paddle
@@ -30,8 +30,9 @@ x2paddle --framework=tensorflow --model=tf_model.pb --save_dir=pd_model
3030
x2paddle --framework=caffe --prototxt=deploy.proto --weight=deploy.caffemodel --save_dir=pd_model
3131
```
3232
### ONNX
33-
即将release,目前仍可使用[onnx2fluid](https://github.com/PaddlePaddle/X2Paddle/tree/release-0.3/onnx2fluid)
34-
33+
```
34+
x2paddle --framework=onnx --model=onnx_model.onnx --save_dir=pd_model
35+
```
3536
### 参数选项
3637
| 参数 | |
3738
|----------|--------------|
@@ -50,7 +51,7 @@ x2paddle --framework=caffe --prototxt=deploy.proto --weight=deploy.caffemodel --
5051
## 相关文档
5152
1. [X2Paddle使用过程中常见问题](Q&A.md)
5253
2. [如何导出TensorFlow的pb模型](export_tf_model.md)
53-
3. [X2Paddle测试模型库](test_model_zoo.md)
54+
3. [X2Paddle测试模型库](x2paddle_model_zoo.md)
5455

5556
## 更新历史
5657
2019.08.05

x2paddle/op_mapper/onnx_directly_map.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
# limitations under the License.
1414

1515
from collections import OrderedDict as _dict
16+
import numpy as _np
1617

1718
default_op_mapping_field_values = _dict()
1819
default_op_mapping_field_values['FLUID_OP'] = ''
@@ -30,6 +31,21 @@
3031
'Mul': ['elementwise_mul', ['X', 'Y'], ['Out'],
3132
dict(),
3233
dict(axis=-1)],
34+
'Clip': [
35+
'clip', ['X'], ['Out'],
36+
dict(),
37+
dict(
38+
min=(_np.asarray([255, 255, 127, 255],
39+
dtype=_np.uint8).view(_np.float32)),
40+
max=(_np.asarray([255, 255, 127, 127],
41+
dtype=_np.uint8).view(_np.float32)),
42+
)
43+
],
44+
'ReduceMean': [
45+
'reduce_mean', ['X'], ['Out'],
46+
dict(axes='dim', keepdims='keep_dim'),
47+
dict(keep_dim=1)
48+
]
3349
}
3450

3551
default_ioa_constraint = {

x2paddle/op_mapper/onnx_op_mapper.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ def __init__(self, decoder):
6262
func = getattr(self, op)
6363
func(node)
6464
elif op in default_op_mapping:
65-
self._default(node)
65+
self.directly_map(node)
6666

6767
def op_checker(self):
6868
unsupported_ops = set()
@@ -80,7 +80,7 @@ def op_checker(self):
8080
print(op)
8181
return False
8282

83-
def _default(self, node, *args, name='', **kwargs):
83+
def directly_map(self, node, *args, name='', **kwargs):
8484
inputs = node.layer.input
8585
outputs = node.layer.output
8686
op_type = node.layer_type
@@ -544,7 +544,7 @@ def BatchNormalization(self, node):
544544
"momentum": momentum,
545545
"epsilon": epsilon,
546546
"data_layout": string('NCHW'),
547-
"is_test": 'True',
547+
"is_test": True,
548548
"param_attr": string(val_scale.layer_name),
549549
"bias_attr": string(val_b.layer_name),
550550
"moving_mean_name": string(val_mean.layer_name),

x2paddle_model_zoo.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,12 @@
4747
```
4848
import torch
4949
import torchvision
50-
dummy_input = torch.randn(1, 3, 224, 224) #根据不同模型调整shape
50+
51+
#根据不同模型调整输入的shape
52+
dummy_input = torch.randn(1, 3, 224, 224)
5153
resnet18 = torchvision.models.resnet18(pretrained=True)
52-
torch.onnx.export(resnet18, dummy_input, "resnet18.onnx",verbose=True)#"resnet18.onnx"为onnx model的存储路径
54+
55+
#"resnet18.onnx"为onnx model的存储路径
56+
torch.onnx.export(resnet18, dummy_input, "resnet18.onnx",verbose=True)
5357
5458
```

0 commit comments

Comments
 (0)