onnx-tensorrt icon indicating copy to clipboard operation
onnx-tensorrt copied to clipboard

Problem converting ONNX model to TensorRT 7.2.1(CTPN.onnx) (Dynamic ReverseSequence support)

Open LinnaWang76 opened this issue 4 years ago • 5 comments

----------------------------------------------------------------
Input filename:   ctpn.onnx
ONNX IR version:  0.0.5
Opset version:    10
Producer name:    tf2onnx
Producer version: 1.7.2
Domain:           
Model version:    0
Doc string:       
----------------------------------------------------------------
Parsing model
[2020-12-24 03:48:45 WARNING] /app/onnx-tensorrt/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.
[2020-12-24 03:48:45 WARNING] /app/onnx-tensorrt/onnx2trt_utils.cpp:246: One or more weights outside the range of INT32 was clamped
[2020-12-24 03:48:45   ERROR] Parameter check failed at: ../builder/Network.cpp::addConcatenation::517, condition: nbInputs > 0 && nbInputs < MAX_CONCAT_INPUTS
Segmentation fault (core dumped)

Please advise if I can provide any more information. ctpn.onnx model worded fine in onnxruntime.

LinnaWang76 avatar Dec 24 '20 06:12 LinnaWang76

Run

./trtexec --onnx=/path/onnx/file --verbose
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:129: blstm/transpose_2 [Transpose] inputs: [lambda_1/Reshape:0 -> (32, 32, 512)], 
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ImporterContext.hpp:154: Registering layer: blstm/transpose_2 for ONNX node: blstm/transpose_2
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ImporterContext.hpp:120: Registering tensor: blstm/transpose_2:0 for ONNX tensor: blstm/transpose_2:0
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:183: blstm/transpose_2 [Transpose] outputs: [blstm/transpose_2:0 -> (32, 32, 512)], 
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:107: Parsing node: blstm/ReverseV2_Shape__114 [Shape]
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:123: Searching for input: blstm/transpose_2:0
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:129: blstm/ReverseV2_Shape__114 [Shape] inputs: [blstm/transpose_2:0 -> (32, 32, 512)], 
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ImporterContext.hpp:154: Registering layer: blstm/ReverseV2_Shape__114 for ONNX node: blstm/ReverseV2_Shape__114
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ImporterContext.hpp:120: Registering tensor: blstm/ReverseV2_Shape__114:0 for ONNX tensor: blstm/ReverseV2_Shape__114:0
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:183: blstm/ReverseV2_Shape__114 [Shape] outputs: [blstm/ReverseV2_Shape__114:0 -> (3)], 
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:107: Parsing node: blstm/ReverseV2_Gather__119 [Gather]
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:123: Searching for input: blstm/ReverseV2_Shape__114:0
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:123: Searching for input: const_0__116
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:129: blstm/ReverseV2_Gather__119 [Gather] inputs: [blstm/ReverseV2_Shape__114:0 -> (3)], [const_0__116 -> (1)], 
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ImporterContext.hpp:150: Registering constant layer: const_0__116 for ONNX initializer: const_0__116
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/builtin_op_importers.cpp:972: Using Gather axis: 0
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ImporterContext.hpp:154: Registering layer: blstm/ReverseV2_Gather__119 for ONNX node: blstm/ReverseV2_Gather__119
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ImporterContext.hpp:120: Registering tensor: blstm/ReverseV2_Gather__119:0 for ONNX tensor: blstm/ReverseV2_Gather__119:0
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:183: blstm/ReverseV2_Gather__119 [Gather] outputs: [blstm/ReverseV2_Gather__119:0 -> (1)], 
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:107: Parsing node: blstm/ReverseV2_Gather__118 [Gather]
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:123: Searching for input: blstm/ReverseV2_Shape__114:0
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:123: Searching for input: const_one__146
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:129: blstm/ReverseV2_Gather__118 [Gather] inputs: [blstm/ReverseV2_Shape__114:0 -> (3)], [const_one__146 -> (1)], 
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ImporterContext.hpp:150: Registering constant layer: const_one__146 for ONNX initializer: const_one__146
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/builtin_op_importers.cpp:972: Using Gather axis: 0
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ImporterContext.hpp:154: Registering layer: blstm/ReverseV2_Gather__118 for ONNX node: blstm/ReverseV2_Gather__118
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ImporterContext.hpp:120: Registering tensor: blstm/ReverseV2_Gather__118:0 for ONNX tensor: blstm/ReverseV2_Gather__118:0
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:183: blstm/ReverseV2_Gather__118 [Gather] outputs: [blstm/ReverseV2_Gather__118:0 -> (1)], 
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:107: Parsing node: Expand__120 [Expand]
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:123: Searching for input: blstm/ReverseV2_Gather__119:0
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:123: Searching for input: blstm/ReverseV2_Gather__118:0
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:129: Expand__120 [Expand] inputs: [blstm/ReverseV2_Gather__119:0 -> (1)], [blstm/ReverseV2_Gather__118:0 -> (1)], 
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ImporterContext.hpp:154: Registering layer: Expand__120 for ONNX node: Expand__120
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ImporterContext.hpp:120: Registering tensor: Expand__120:0 for ONNX tensor: Expand__120:0
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:183: Expand__120 [Expand] outputs: [Expand__120:0 -> (-1)], 
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:107: Parsing node: blstm/ReverseV2_ReverseSequence__121 [ReverseSequence]
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:123: Searching for input: blstm/transpose_2:0
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:123: Searching for input: Expand__120:0
[12/24/2020-09:29:01] [V] [TRT] /app/onnx-tensorrt/ModelImporter.cpp:129: blstm/ReverseV2_ReverseSequence__121 [ReverseSequence] inputs: [blstm/transpose_2:0 -> (32, 32, 512)], [Expand__120:0 -> (-1)], 
[12/24/2020-09:29:01] [E] [TRT] Parameter check failed at: ../builder/Network.cpp::addConcatenation::517, condition: nbInputs > 0 && nbInputs < MAX_CONCAT_INPUTS

so , Is it cause by Expand in ReverseSequence op?

LinnaWang76 avatar Dec 25 '20 01:12 LinnaWang76

Are you able to share the ONNX model?

kevinch-nv avatar Jan 22 '21 21:01 kevinch-nv

I have reproduced the error with my own model, so looking into a possible fix now.

If you can still share your model it would be helpful as an additional datapoint

kevinch-nv avatar Jan 29 '21 17:01 kevinch-nv

Updated the title. The root cause is that we do not support dynamic dimensions for the ReverseSequence operator. Marking as enhancement to fix in a later release.

kevinch-nv avatar May 10 '21 17:05 kevinch-nv

Is there any intent to fix this issue?

AndreyOrb avatar May 04 '23 19:05 AndreyOrb