Open lpt-hub opened 3 years ago
1.如果是paddlex导出模型,model_type请填paddlex,这个字段的含义是模型来自哪个套件导出。
2.可视化检查下输出大小,分割模型的输出可能有两个或者有些输出是没有通道数。也就是配置文件中的save_infer_model/scale_0.tmp_1字段
1.如果是paddlex导出模型,model_type请填paddlex,这个字段的含义是模型来自哪个套件导出。
2.可视化检查下输出大小,分割模型的输出可能有两个或者有些输出是没有通道数。也就是配置文件中的save_infer_model/scale_0.tmp_1字段
使用paddleseg导出模型的。 输出大小是这样的:
我使用的是tensorrt7.1,会不会是这个原因?需要使用tensorrt7.2以上?
是输出大小设置错了。输出大小为1,1024,1024 还有dtype是int64 不是float
我代码适配20.11的镜像,里边的trt应该是7.2 cudnn是8。以前有回答过一个版本的issues
是输出大小设置错了。输出大小为1,1024,1024 还有dtype是int64 不是float
我代码适配20.11的镜像,里边的trt应该是7.2 cudnn是8。以前有回答过一个版本的issues
好的,我改下再试。
是输出大小设置错了。输出大小为1,1024,1024 还有dtype是int64 不是float 我代码适配20.11的镜像,里边的trt应该是7.2 cudnn是8。以前有回答过一个版本的issues
好的,我改下再试。
按照你说的方法改了输出大小,和dtype,还改用trt7.2,cudnn8.0。还是报同样的错误。
docker部署文档对应的demo时这个: https://github.com/PaddlePaddle/PaddleX/tree/release/2.0.0/deploy/cpp/demo/onnx_tensorrt 这个demo是使用原生TRT,运行onnx模型。
我看你运行时使用demo目录下的infer, demo目录下的xx_infer对应paddle inference引擎,也可以使用TRT, 但是对应的文档为: https://github.com/PaddlePaddle/PaddleX/blob/release/2.0.0/deploy/cpp/docs/demo/tensorrt_infer.md
如果使用paddle inference 引擎中自带的TRT, 注意:
docker部署文档对应的demo时这个: https://github.com/PaddlePaddle/PaddleX/tree/release/2.0.0/deploy/cpp/demo/onnx_tensorrt 这个demo是使用原生TRT,运行onnx模型。
还是原来的错误,没有解决。我把我自己的onnx模型和配置文件发给你,你调试下,看什么问题? 链接:https://pan.baidu.com/s/12kPRHHqovsW67i04nLwu2A 提取码:yvkj
docker部署文档对应的demo时这个: https://github.com/PaddlePaddle/PaddleX/tree/release/2.0.0/deploy/cpp/demo/onnx_tensorrt 这个demo是使用原生TRT,运行onnx模型。
我看你运行时使用demo目录下的infer, demo目录下的xx_infer对应paddle inference引擎,也可以使用TRT, 但是对应的文档为: https://github.com/PaddlePaddle/PaddleX/blob/release/2.0.0/deploy/cpp/docs/demo/tensorrt_infer.md
如果使用paddle inference 引擎中自带的TRT, 注意:
- TRT版本跟下载的 paddle inference 包对应
- 编译时开启TensorRT,并填写TensorRT路径
- 按文档填写 min、max、optim _input_shape参数 注意看文档,TRT使用相对更复杂一点
可以推理了,不过第一次生成trt和推理正常,但是第二次加载第一次生成的trt文件进行推理就报错,很奇怪,什么原因?
docker部署文档对应的demo时这个: https://github.com/PaddlePaddle/PaddleX/tree/release/2.0.0/deploy/cpp/demo/onnx_tensorrt 这个demo是使用原生TRT,运行onnx模型。 我看你运行时使用demo目录下的infer, demo目录下的xx_infer对应paddle inference引擎,也可以使用TRT, 但是对应的文档为: https://github.com/PaddlePaddle/PaddleX/blob/release/2.0.0/deploy/cpp/docs/demo/tensorrt_infer.md 如果使用paddle inference 引擎中自带的TRT, 注意:
- TRT版本跟下载的 paddle inference 包对应
- 编译时开启TensorRT,并填写TensorRT路径
- 按文档填写 min、max、optim _input_shape参数 注意看文档,TRT使用相对更复杂一点
可以推理了,不过第一次生成trt和推理正常,但是第二次加载第一次生成的trt文件进行推理就报错,很奇怪,什么原因?
推理到这一行就报错:
docker部署文档对应的demo时这个: https://github.com/PaddlePaddle/PaddleX/tree/release/2.0.0/deploy/cpp/demo/onnx_tensorrt 这个demo是使用原生TRT,运行onnx模型。
我看你运行时使用demo目录下的infer, demo目录下的xx_infer对应paddle inference引擎,也可以使用TRT, 但是对应的文档为: https://github.com/PaddlePaddle/PaddleX/blob/release/2.0.0/deploy/cpp/docs/demo/tensorrt_infer.md
如果使用paddle inference 引擎中自带的TRT, 注意:
- TRT版本跟下载的 paddle inference 包对应
- 编译时开启TensorRT,并填写TensorRT路径
- 按文档填写 min、max、optim _input_shape参数 注意看文档,TRT使用相对更复杂一点
可以正常推理了,问题解决了。
"加载第一次生成的trt文件进行推理就报错" 这个问题是我们的代码问题,还是你的使用方式有问题?
我们也有计划有话TRT部署代码和文档,让TRT部署更加简单、易用。 你这次使用踩的坑,如果有写相关博客/日记之类的,麻烦发我一下,便于我们的提升改进。
"加载第一次生成的trt文件进行推理就报错" 这个问题是我们的代码问题,还是你的使用方式有问题?
我们也有计划有话TRT部署代码和文档,让TRT部署更加简单、易用。 你这次使用踩的坑,如果有写相关博客/日记之类的,麻烦发我一下,便于我们的提升改进。
好的
环境:win10,cuda11,paddleseg2.3,paddlex2.0,bisenetv2
模型导出命令:python export.py --config configs\quick_start/bisenet_optic_disc_512x512_1k-100000.yml --model_path output\best_model\model.pdparams --input_shape 1 3 1024 1024 --save_dir output
转换onnx命令:paddle2onnx --model_dir output --model_filename output/model.pdmodel --params_filename output/model.pdiparams --opset_version 11 --save_file output.onnx
配置文件: batch_size: 4 iters: 100000
train_dataset: type: Dataset dataset_root: dataset\bedwetcrack-train train_path: dataset\bedwetcrack-train\train_list.txt num_classes: 3 transforms:
val_dataset: type: Dataset dataset_root: dataset\bedwetcrack-train val_path: dataset\bedwetcrack-train\val_list.txt num_classes: 3 transforms:
input:
optimizer: type: sgd momentum: 0.9 weight_decay: 4.0e-5
lr_scheduler: type: PolynomialDecay learning_rate: 0.01 power: 0.9 end_lr: 0
loss: types:
model: type: BiSeNetV2 pretrained: Null
推理命令:./build/demo/model_infer --image files/123.jpg --cfg_file files/bisenet.yml --model_type seg --model_file files/output.onnx
报错情况: ParseCommandLineFlags:FLAGS_model_type=seg model_file=files/output.onnx REGISTER_CLASS:seg init SegModel,model_type=seg start model init start engine init
Input filename: files/output.onnx ONNX IR version: 0.0.7 Opset version: 11 Producer name: PaddlePaddle Producer version: Domain: Model version: 0 Doc string:
WARNING: Logging before InitGoogleLogging() is written to STDERR W1027 09:25:13.052062 5311 tensorrt_engine.h:60] /home/jenkins/workspace/OSS/L0_MergeRequest/oss/parsers/onnx/onnx2trt_utils.cpp:220: Your ONNX model has been generated with INT64 weights, while TensorRT does not natively support INT64. Attempting to cast down to INT32. W1027 09:25:13.058593 5311 tensorrt_engine.h:60] Tensor DataType is determined at build time for tensors not marked as input or output. I1027 09:25:15.795220 5311 tensorrt_engine.h:57] Some tactics do not have sufficient workspace memory to run. Increasing workspace size may increase performance, please check verbose output. I1027 09:25:32.534358 5311 tensorrt_engine.h:57] Detected 1 inputs and 1 output network tensors. start model predict 1 ------------1 Segmentation fault (core dumped)