PaddlePaddle / Paddle2ONNX

ONNX Model Exporter for PaddlePaddle
Apache License 2.0
717 stars 166 forks source link

能否指定 IR representation的版本 #1248

Closed DLlearn closed 4 months ago

DLlearn commented 4 months ago

image 如图,能否指定format 版本呢?在转模型时,针对特定onnx工具,对于高版本的 不支持,报错, IR representation should smaller v8

Zheng-Bicheng commented 4 months ago

暂时没办法指定哦

DLlearn commented 4 months ago

暂时没办法指定哦

那有工具可以降么?把转好的onnx从v8给降一下。

Zheng-Bicheng commented 4 months ago

这个还真没办法,但是你这图上不是v7吗?哪里看出来是v8呢?

DLlearn commented 4 months ago

这个还真没办法,但是你这图上不是v7吗?哪里看出来是v8呢?

我用0.9 版的paddle2onnx了,不能再高,才弄成v7.paddlepaddle版本用的2.6倒也兼容。如果默认pip install paddle2onnx就是v8

DLlearn commented 4 months ago

这个还真没办法,但是你这图上不是v7吗?哪里看出来是v8呢?

pytorch 我试了下,用2.3 导出的onnx 也是V6,

Zheng-Bicheng commented 4 months ago

这个有点尴尬,因为我们不可能专门的再去适配低版本的ONNX了

Zheng-Bicheng commented 4 months ago

@Jiang-Jia-Jun 大佬,IR representation是通过什么来控制的呢?

DLlearn commented 4 months ago

这个有点尴尬,因为我们不可能专门的再去适配低版本的ONNX了

我是不太懂,paddle2onnx随着版本的升级,IR representation 也在改变升级,但pytorch一直升级却可以做到一直V6,所以看起来这个IR 版本不升也是没问题的。

DLlearn commented 4 months ago

image 试了下pytorch2.2.2,两层FC

Zheng-Bicheng commented 4 months ago

@DLlearn 我会尝试一下修复这个问题哈,找到问题在哪里了,但是有个问题,就是IR版本好像和ONNX版本是强绑定了,我得研究下确保不会出现问题。

DLlearn commented 4 months ago

@DLlearn 我会尝试一下修复这个问题哈,找到问题在哪里了,但是有个问题,就是IR版本好像和ONNX版本是强绑定了,我得研究下确保不会出现问题。

赞!

Zheng-Bicheng commented 4 months ago

麻烦把你的模型提供一下哈,我这边测试一下

Zheng-Bicheng commented 4 months ago
DLlearn commented 4 months ago

麻烦把你的模型提供一下哈,我这边测试一下

litev1_192.zip 命令就是:paddle2onnx --model_dir litev1_192 --model_filename model.pdmodel --params_filename model.pdiparams --save_file litev1_192/litev1_192.onnx --opset 11 ,优化用onnxsim:python -m onnxsim litev1_192.onnx litev1_192_sim.onnx

Zheng-Bicheng commented 4 months ago
image
Zheng-Bicheng commented 4 months ago

@DLlearn 用除了python3.11以外的版本下载一下最新的P2O,应该支持你的需求了,我导出来是v6了

DLlearn commented 4 months ago

@DLlearn 用除了python3.11以外的版本下载一下最新的P2O,应该支持你的需求了,我导出来是v6了 OK,三个想法想和您了解 1:与paddlepaddle 版本有关吗?改变paddle版本会影响吗?2:与onnx版本有关吗?改变onnx版本会影响吗3:v6,v7,v8 及未来的这种,影响onnx的精度,推理速度,还是支持算子数,还是没啥用,就是随意这么一指定。

Zheng-Bicheng commented 4 months ago

看一下这里哈,这个功能已经实现了,如果后续有问题可以另起一个Issues来提问哈: