代码拉取完成,页面将自动刷新
同步操作将从 PaddlePaddle/Paddle2ONNX 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
简体中文 | English
Paddle2ONNX enables users to convert models from PaddlePaddle to ONNX.
python >= 2.7
static computational graph: paddlepaddle >= 1.8.0
dynamic computational graph: paddlepaddle >= 2.0.0
onnx == 1.7.0 | Optional
pip install paddle2onnx
git clone https://github.com/PaddlePaddle/Paddle2ONNX.git
cd Paddle2ONNX
python setup.py install
Uncombined PaddlePaddle model(parameters saved in different files)
paddle2onnx --model_dir paddle_model --save_file onnx_file --opset_version 10 --enable_onnx_checker True
Combined PaddlePaddle model(parameters saved in one binary file)
paddle2onnx --model_dir paddle_model --model_filename model_filename --params_filename params_filename --save_file onnx_file --opset_version 10 --enable_onnx_checker True
If you need to configure the input shape, use the following command:
paddle2onnx --model_dir paddle_model --model_filename model_filename --params_filename params_filename --save_file onnx_file --opset_version 10 --enable_onnx_checker True --input_shape_dict "{'x': [1, 3, 224, 224]}"
Parameters | Description |
---|---|
--model_dir | The directory path of the paddlepaddle model saved by paddle.fluid.io.save_inference_model
|
--model_filename |
[Optional] The model file name under the directory designated by--model_dir . Only needed when all the model parameters saved in one binary file. Default value None |
--params_filename |
[Optional] the parameter file name under the directory designated by--model_dir . Only needed when all the model parameters saved in one binary file. Default value None |
--save_file | the directory path for the exported ONNX model |
--opset_version | [Optional] To configure the ONNX Opset version. Opset 9-11 are stably supported. Default value is 9. |
--enable_dev_version | [Optional] Whether to use new version of Paddle2ONNX while is under developing. Default value is False. |
--enable_onnx_checker | [Optional] To check the validity of the exported ONNX model. It is suggested to turn on the switch. If set to True, onnx>=1.7.0 is required. Default value is False |
--enable_paddle_fallback | [Optional] Whether custom op is exported using paddle_fallback mode. Default value is False |
--enable_auto_update_opset | [Optional] Whether enable auto_update_opset. Default value is True |
--input_shape_dict | [Optional] Configure the input shape, the default is empty |
--version | [Optional] check the version of paddle2onnx |
--output_names | [Optional] Set the output name of the model, the default is empty, support configuration in list form,for example:--output_names "['my_output1','my_output2']",or in dict form,for example:"{'paddle_output1':'my_output1', 'paddle_output2':'my_output2'}" |
import paddle
from paddle import nn
from paddle.static import InputSpec
import paddle2onnx as p2o
class LinearNet(nn.Layer):
def __init__(self):
super(LinearNet, self).__init__()
self._linear = nn.Linear(784, 10)
def forward(self, x):
return self._linear(x)
layer = LinearNet()
# configure model inputs
x_spec = InputSpec([None, 784], 'float32', 'x')
# convert model to inference mode
layer.eval()
save_path = 'onnx.save/linear_net'
p2o.dygraph2onnx(layer, save_path + '.onnx', input_spec=[x_spec])
# when paddlepaddle>2.0.0, you can try:
# paddle.onnx.export(layer, save_path, input_spec=[x_spec])
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。