Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

There are some operators not supported yet, including einsum, repeat_interleave #1299

Open
damopi opened this issue Jul 2, 2024 · 11 comments

Comments

@damopi
Copy link

damopi commented Jul 2, 2024

Please fill in the information below so that we can solve the problem quickly, Thanks !

Describe the bug
I tried to export model to onnx, and the terminal shows "there are some operator not supported yet..."

Informations (please complete the following information):

  • Inference engine for deployment: onnx runtime/ tensorRT
  • Why convert to onnx: Performance
  • Paddle2ONNX Version: 1.2.4 compiled locally
  • Email/Wechat/Phone: [email protected]

Screenshots
issue

Additional context

@Zheng-Bicheng
Copy link
Collaborator

Can you upload your model?

@damopi
Copy link
Author

damopi commented Jul 9, 2024

Please find below the link to download my model

https://drive.google.com/file/d/1h2r5q8rZfWEvkTDUiGhnqrtsNQPhM-Fp/view?usp=sharing

@Zheng-Bicheng
Copy link
Collaborator

@Zheng-Bicheng
Copy link
Collaborator

Zheng-Bicheng commented Jul 12, 2024

@Zheng-Bicheng
Copy link
Collaborator

Hello @damopi , we have already added these two operators. You need to pull the latest code and compile it. Please note that due to firewall restrictions, we are unable to download your model and therefore cannot verify the accuracy of the model. You will need to validate it yourself.

@damopi
Copy link
Author

damopi commented Jul 18, 2024

Hello,

I compiled and executed the latest code with version 1.2.6 but I get the following result:
dmp@dmp:~/Downloads$ paddle2onnx --model_dir inference_model --model_filename model.pdmodel --params_filename model.pdiparams --save_file model.onnx
[Paddle2ONNX] Start to parse PaddlePaddle model...
[Paddle2ONNX] Model file path: inference_model/model.pdmodel
[Paddle2ONNX] Parameters file path: inference_model/model.pdiparams
[Paddle2ONNX] Start to parsing Paddle model...
[Paddle2ONNX] Oops, there are some operators not supported yet, including
[Paddle2ONNX] [set_value: fill_constant_1.tmp_0] Requires the minimal opset version of 12.
[Paddle2ONNX] [set_value: fill_constant_1.tmp_0] Requires the minimal opset version of 12.
[Paddle2ONNX] [pad3d: pad3d_0.tmp_0] While Paddings is input and it's not a constant tensor, Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_0.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_1.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_0.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_2.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_3.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_1.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_0.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_1.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_36.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_4.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_5.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_2.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_6.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_7.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_3.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_2.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_3.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_37.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_8.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_9.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_4.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_10.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_11.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_5.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_4.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_5.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_38.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_12.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_13.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_6.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_14.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_15.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_7.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_6.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_7.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_39.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_16.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_17.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_8.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_18.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_19.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_9.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_8.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_9.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_40.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_20.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_21.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_10.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_22.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_23.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_11.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_10.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_11.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_41.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_24.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_25.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_12.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_26.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_27.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_13.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_12.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_13.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_42.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_28.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_29.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_14.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_30.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_31.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_15.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_14.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_15.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_43.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_32.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_33.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_16.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_34.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_35.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_17.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_16.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_17.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_44.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_36.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_37.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_18.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_38.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_39.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_19.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_18.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_19.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_45.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_40.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_41.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_20.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_42.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_43.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_21.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_20.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_21.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_46.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_44.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_45.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_22.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_46.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_47.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_23.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_22.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_23.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_47.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_48.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_49.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_24.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_50.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_51.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_25.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_24.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_25.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_48.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_52.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_53.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_26.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_54.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_55.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_27.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_26.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_27.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_49.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_56.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_57.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_28.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_58.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_59.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_29.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_28.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_29.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_50.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_60.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_61.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_30.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_62.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_63.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_31.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_30.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_31.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_51.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_64.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_65.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_32.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_66.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_67.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_33.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_32.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_33.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_52.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_68.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_69.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_34.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_70.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_71.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_35.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_34.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_35.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_53.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_72.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_73.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_36.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_74.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_75.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_37.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_36.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_37.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_54.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_76.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_77.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_38.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_78.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_79.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_39.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_38.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_39.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_55.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_80.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_81.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_40.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_82.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_83.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_41.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_40.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_41.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_56.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_84.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_85.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_42.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_86.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_87.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_43.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_42.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_43.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_57.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_88.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_89.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_44.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_90.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_91.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_45.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_44.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_45.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_58.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_92.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_93.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_46.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_94.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_95.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_47.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_46.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_47.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_59.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_96.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_97.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_48.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_98.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_99.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_49.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_48.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_49.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_60.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_100.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_101.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_50.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_102.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_103.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_51.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_50.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_51.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_61.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_104.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_105.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_52.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_106.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_107.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_53.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_52.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_53.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_62.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_108.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_109.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_54.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_110.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_111.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_55.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_54.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_55.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_63.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_112.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_113.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_56.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_114.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_115.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_57.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_56.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_57.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_64.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_116.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_117.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_58.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_118.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_119.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_59.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_58.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_59.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_65.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_120.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_121.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_60.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_122.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_123.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_61.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_60.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_61.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_66.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [range: range_124.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_125.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_62.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_126.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [range: range_127.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gather_nd: gather_nd_63.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [einsum: einsum_62.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [einsum: einsum_63.tmp_1] Requires the minimal opset version of 12.
[Paddle2ONNX] [gelu: gelu_67.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [reduce_mean: mean_0.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [reduce_mean: mean_1.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [reduce_mean: mean_2.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [reduce_mean: mean_3.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [empty: empty_0.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [expand_v2: expand_0.tmp_0] Requires the minimal opset version of 8.
[Paddle2ONNX] [cumsum: cumsum_0.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [cumsum: cumsum_1.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [expand_v2: expand_1.tmp_0] Requires the minimal opset version of 8.
[Paddle2ONNX] [repeat_interleave: repeat_interleave_0.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [repeat_interleave: repeat_interleave_1.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [reduce_mean: mean_4.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [reduce_mean: mean_5.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [gelu: gelu_68.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [gelu: gelu_69.tmp_0] Requires the minimal opset version of 9.
[Paddle2ONNX] [bilinear_interp_v2: bilinear_interp_v2_0.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] [slice: bilinear_interp_v2_0.tmp_0_slice_0] While has input StartsTensorList/EndsTensorListStridesTensorList, Requires the minimal opset version of 10.
[Paddle2ONNX] [bilinear_interp_v2: bilinear_interp_v2_1.tmp_0] Requires the minimal opset version of 11.
[Paddle2ONNX] Due to the operator: set_value, requires opset_version >= 12.
[Paddle2ONNX] Opset version will change to 12 from 9
[Paddle2ONNX] Use opset_version = 12 for ONNX export.
[Paddle2ONNX] Find dumplicate output name 'fill_constant_1.tmp_0', it will rename to 'p2o.fill_constant_1.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'p2o.fill_constant_1.tmp_0.0', it will rename to 'p2o.p2o.fill_constant_1.tmp_0.0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_0.tmp_0', it will rename to 'p2o.unbind_0.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_0.tmp_1', it will rename to 'p2o.unbind_0.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_0.tmp_2', it will rename to 'p2o.unbind_0.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_1.tmp_0', it will rename to 'p2o.unbind_1.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_1.tmp_1', it will rename to 'p2o.unbind_1.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_1.tmp_2', it will rename to 'p2o.unbind_1.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_2.tmp_0', it will rename to 'p2o.unbind_2.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_2.tmp_1', it will rename to 'p2o.unbind_2.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_2.tmp_2', it will rename to 'p2o.unbind_2.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_3.tmp_0', it will rename to 'p2o.unbind_3.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_3.tmp_1', it will rename to 'p2o.unbind_3.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_3.tmp_2', it will rename to 'p2o.unbind_3.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_4.tmp_0', it will rename to 'p2o.unbind_4.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_4.tmp_1', it will rename to 'p2o.unbind_4.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_4.tmp_2', it will rename to 'p2o.unbind_4.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_5.tmp_0', it will rename to 'p2o.unbind_5.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_5.tmp_1', it will rename to 'p2o.unbind_5.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_5.tmp_2', it will rename to 'p2o.unbind_5.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_6.tmp_0', it will rename to 'p2o.unbind_6.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_6.tmp_1', it will rename to 'p2o.unbind_6.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_6.tmp_2', it will rename to 'p2o.unbind_6.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_7.tmp_0', it will rename to 'p2o.unbind_7.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_7.tmp_1', it will rename to 'p2o.unbind_7.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_7.tmp_2', it will rename to 'p2o.unbind_7.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_8.tmp_0', it will rename to 'p2o.unbind_8.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_8.tmp_1', it will rename to 'p2o.unbind_8.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_8.tmp_2', it will rename to 'p2o.unbind_8.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_9.tmp_0', it will rename to 'p2o.unbind_9.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_9.tmp_1', it will rename to 'p2o.unbind_9.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_9.tmp_2', it will rename to 'p2o.unbind_9.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_10.tmp_0', it will rename to 'p2o.unbind_10.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_10.tmp_1', it will rename to 'p2o.unbind_10.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_10.tmp_2', it will rename to 'p2o.unbind_10.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_11.tmp_0', it will rename to 'p2o.unbind_11.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_11.tmp_1', it will rename to 'p2o.unbind_11.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_11.tmp_2', it will rename to 'p2o.unbind_11.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_12.tmp_0', it will rename to 'p2o.unbind_12.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_12.tmp_1', it will rename to 'p2o.unbind_12.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_12.tmp_2', it will rename to 'p2o.unbind_12.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_13.tmp_0', it will rename to 'p2o.unbind_13.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_13.tmp_1', it will rename to 'p2o.unbind_13.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_13.tmp_2', it will rename to 'p2o.unbind_13.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_14.tmp_0', it will rename to 'p2o.unbind_14.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_14.tmp_1', it will rename to 'p2o.unbind_14.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_14.tmp_2', it will rename to 'p2o.unbind_14.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_15.tmp_0', it will rename to 'p2o.unbind_15.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_15.tmp_1', it will rename to 'p2o.unbind_15.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_15.tmp_2', it will rename to 'p2o.unbind_15.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_16.tmp_0', it will rename to 'p2o.unbind_16.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_16.tmp_1', it will rename to 'p2o.unbind_16.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_16.tmp_2', it will rename to 'p2o.unbind_16.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_17.tmp_0', it will rename to 'p2o.unbind_17.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_17.tmp_1', it will rename to 'p2o.unbind_17.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_17.tmp_2', it will rename to 'p2o.unbind_17.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_18.tmp_0', it will rename to 'p2o.unbind_18.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_18.tmp_1', it will rename to 'p2o.unbind_18.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_18.tmp_2', it will rename to 'p2o.unbind_18.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_19.tmp_0', it will rename to 'p2o.unbind_19.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_19.tmp_1', it will rename to 'p2o.unbind_19.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_19.tmp_2', it will rename to 'p2o.unbind_19.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_20.tmp_0', it will rename to 'p2o.unbind_20.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_20.tmp_1', it will rename to 'p2o.unbind_20.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_20.tmp_2', it will rename to 'p2o.unbind_20.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_21.tmp_0', it will rename to 'p2o.unbind_21.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_21.tmp_1', it will rename to 'p2o.unbind_21.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_21.tmp_2', it will rename to 'p2o.unbind_21.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_22.tmp_0', it will rename to 'p2o.unbind_22.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_22.tmp_1', it will rename to 'p2o.unbind_22.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_22.tmp_2', it will rename to 'p2o.unbind_22.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_23.tmp_0', it will rename to 'p2o.unbind_23.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_23.tmp_1', it will rename to 'p2o.unbind_23.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_23.tmp_2', it will rename to 'p2o.unbind_23.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_24.tmp_0', it will rename to 'p2o.unbind_24.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_24.tmp_1', it will rename to 'p2o.unbind_24.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_24.tmp_2', it will rename to 'p2o.unbind_24.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_25.tmp_0', it will rename to 'p2o.unbind_25.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_25.tmp_1', it will rename to 'p2o.unbind_25.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_25.tmp_2', it will rename to 'p2o.unbind_25.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_26.tmp_0', it will rename to 'p2o.unbind_26.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_26.tmp_1', it will rename to 'p2o.unbind_26.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_26.tmp_2', it will rename to 'p2o.unbind_26.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_27.tmp_0', it will rename to 'p2o.unbind_27.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_27.tmp_1', it will rename to 'p2o.unbind_27.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_27.tmp_2', it will rename to 'p2o.unbind_27.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_28.tmp_0', it will rename to 'p2o.unbind_28.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_28.tmp_1', it will rename to 'p2o.unbind_28.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_28.tmp_2', it will rename to 'p2o.unbind_28.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_29.tmp_0', it will rename to 'p2o.unbind_29.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_29.tmp_1', it will rename to 'p2o.unbind_29.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_29.tmp_2', it will rename to 'p2o.unbind_29.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_30.tmp_0', it will rename to 'p2o.unbind_30.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_30.tmp_1', it will rename to 'p2o.unbind_30.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_30.tmp_2', it will rename to 'p2o.unbind_30.tmp_2.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_31.tmp_0', it will rename to 'p2o.unbind_31.tmp_0.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_31.tmp_1', it will rename to 'p2o.unbind_31.tmp_1.0'.
[Paddle2ONNX] Find dumplicate output name 'unbind_31.tmp_2', it will rename to 'p2o.unbind_31.tmp_2.0'.
Traceback (most recent call last):
File "/home/dmp/.local/bin/paddle2onnx", line 8, in
sys.exit(main())
File "/home/dmp/.local/lib/python3.10/site-packages/paddle2onnx/command.py", line 139, in main
paddle2onnx.export(
File "/home/dmp/.local/lib/python3.10/site-packages/paddle2onnx/convert.py", line 35, in export
onnx_model_str = c_p2o.export(
IndexError: Input linear_9.w_0 is undefined!

@Zheng-Bicheng Zheng-Bicheng reopened this Jul 18, 2024
@damopi
Copy link
Author

damopi commented Jul 18, 2024

by the way, where can I upload my model so you can verify it?

@jiuyuedeyu156
Copy link
Contributor

发现一个问题,matmul的输入是权重和激活值,但netron中显示matmul的权重是empty tensor,因此我推断在保存静态图过程中出现了错误。你可以尝试使用下列代码导出静态图

x_spec = InputSpec([None, 3, 3], 'float32', name='inputs')
# 使用save_inference_model导出模型
paddle.enable_static()
net.eval()
paddle.jit.save(net, 'model/model', [x_spec])

@damopi
Copy link
Author

damopi commented Jul 22, 2024

Hi,

Executing your code to export my model, I got the following result:

File "export_DMP.py", line 158, in forward
input_images = paddle.stack(
File "export_DMP.py", line 158, in forward
to subsequent iterations of prediction.
"""
input_images = paddle.stack(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <--- HERE
[self.preprocess(x["image"]) for x in batched_input], axis=0)
image_embeddings = self.image_encoder(input_images)
File "C:.conda\envs\Paddle_SAM_2_8\lib\site-packages\paddle\fluid\framework.py", line 2384, in getitem
return getitem_impl(self, item)
File "C:.conda\envs\Paddle_SAM_2_8\lib\site-packages\paddle\fluid\variable_index.py", line 457, in getitem_impl
raise IndexError(
IndexError: Valid index accept int or slice or ellipsis or list, but received image.

My code:
input_spec = [[{ 'image': paddle.static.InputSpec(shape=[3, None, None], name='image'), 'original_size': paddle.static.InputSpec(shape=[None, None], name='original_size'), }], True]
model.eval()
model = paddle.jit.to_static(model, input_spec=input_spec)
paddle.jit.save(model, os.path.join(args.save_dir, 'model'))

@jiuyuedeyu156
Copy link
Contributor

我太不清楚你的业务,如果你无法解决可以问一下文心一言或者ChatGPT

@damopi
Copy link
Author

damopi commented Jul 25, 2024

I am trying to export Segment Anything Model parameters of PaddlePaddle format https://github.com/PaddlePaddle/PaddleSeg/tree/release/2.9.1/contrib/SegmentAnything, using the file included in the following PR https://github.com/PaddlePaddle/PaddleSeg/pull/3291/files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants