Open David-dotcom666 opened 2 months ago
@David-dotcom666 Hello,您用的Paddle2ONNX版本号是多少呢?只替换Paddle不替换Paddle2ONNX会出现这个问题吗?
@Zheng-Bicheng p2onnx 1.0.5,只替换paddle就可以,目前只有paddle2.4.2可以.2.5.2/2.6.1/3.0(paddle2onnx不支持3.0)都不可以,但是paddle2.4.2训练吃的显存明显高于3.0太多,不利于工业生产环境。
有什么回复吗?
有什么回复吗?
已经在修复了,但是还没排查到原因
Paddle2ONNX我们升级到1.2.x了,您更新下试试呢?
@Zheng-Bicheng p2onnx 1.2.X需要paddle 2.6,我们的环境目前配的2.4.2的...又涉及到其他的一些库版本,暂时是试不了paddle2.6的了。 目前试用paddle3.0比2.X好挺多的,速度快了显存吃的也小很多,代码结构也比原来的简洁,以前改导出模型部分IO要改几个地方,现在我只要改一个地方。本来想这次直接用3.0的,结果后面发现p2onnx还没配paddle3 之前部署原生推理的话就直接用了,奈何要转trt部署只能希望p2onnx等其他框架尽快适配paddle3.0了
@Zheng-Bicheng p2onnx 1.2.X需要paddle 2.6,我们的环境目前配的2.4.2的...又涉及到其他的一些库版本,暂时是试不了paddle2.6的了。 目前试用paddle3.0比2.X好挺多的,速度快了显存吃的也小很多,代码结构也比原来的简洁,以前改导出模型部分IO要改几个地方,现在我只要改一个地方。本来想这次直接用3.0的,结果后面发现p2onnx还没配paddle3 之前部署原生推理的话就直接用了,奈何要转trt部署只能希望p2onnx等其他框架尽快适配paddle3.0了
3.0用起来有什么问题呢?其实理论上是可以用的,只是还没有充分测试
@Zheng-Bicheng 要修改吧,我只看了p2onnx中会引入paddle的一些包,引入的方式还是2.X的结构的,印象中好像是fuild io会报错。接口应该也有些不一样吧.ppdet,ppseg我试过的的几个模型都是可以直接训练导出预测.
@Zheng-Bicheng 要修改吧,我只看了p2onnx中会引入paddle的一些包,引入的方式还是2.X的结构的,印象中好像是fuild io会报错。接口应该也有些不一样吧.ppdet,ppseg我试过的的几个模型都是可以直接训练导出预测.
应该不会,你再测试下,有问题到 Paddle2ONNX 提 Issues 吧,我来帮你处理,我这边测了几个模型都没啥问题。
@Zheng-Bicheng 要修改吧,我只看了p2onnx中会引入paddle的一些包,引入的方式还是2.X的结构的,印象中好像是fuild io会报错。接口应该也有些不一样吧.ppdet,ppseg我试过的的几个模型都是可以直接训练导出预测.
应该不会,你再测试下,有问题到 Paddle2ONNX 提 Issues 吧,我来帮你处理,我这边测了几个模型都没啥问题。
请问下你现在测试的模型是paddle3.0的吧?p2onnx是哪个版本的。后面优化还是想用3.0
请问下你现在测试的模型是paddle3.0的吧?p2onnx是哪个版本的。后面优化还是想用3.0
最新的 P2O 版本是 1.2.8
bug描述 Describe the Bug
使用ppdet预训练模型rtdetr_r50vd_6x_coco.pdparams或其他模型,直接转换onnx模型,paddle2onnx转换. 预测代码: def get_test_images(infer_dir): """ Get image path list in TEST mode """ assert infer_dir is None or os.path.isdir(infer_dir), \ "{} is not a directory".format(infer_dir)
class PredictConfig(object): """set config of preprocess, postprocess and visualize Args: infer_config (str): path of infer_cfg.yml """
def predict_image(infer_config, predictor, img_list):
load preprocess transforms
def read_enfile(file_path,en=True): if en: with open(file_path, 'rb') as f:
key_file_path = os.path.join('C:\','unique.key')
def findImageFiles(folderPath,tarform =None): if tarform: extensions = [f'.{tarform}'] else: extensions = [ ".%s" % fmt.data().decode().lower() for fmt in QtGui.QImageReader.supportedImageFormats() ]
if name == 'main':
会出现 onnxruntime.capi.onnxruntime_pybind11_state.InvalidArgument: [ONNXRuntimeError] : 2 : INVALID_ARGUMENT : Non-zero status code returned while running Tile node. Name:'p2o.Tile.3' Status Message: the tensor to be tiled using Tile OP must be atleast 1 dimensional
我在这里也提了,但是我测试的结果是paddle2.4.2导出后的模型转换onnx可以正常,paddle2.5.2,paddle2.6.1都不可以 [https://github.com/lyuwenyu/RT-DETR/issues/428]
其他补充信息 Additional Supplementary Information
No response