[TRT] Repeated layer name: stage2/split_1 (layers must have distinct names)

Hi,

tf → onnx → trt, it’s ok when I use tensorrt_7.0.0.11 with FP32 mode, but something wrong with int8 calibration:

[TensorRT] INTERNAL ERROR: Assertion failed: d.nbDims >= 1

To solve the problem, I try the tensorrt_7.1.3 with FP32, the same code/onnx file : ./trtexec --onnx=./test.onnx, however:

[TRT] Repeated layer name: stage2/split_1 (layers must have distinct names)

I check the onnx, but all split_xx node with different names, not repeated, and tensorrt_7.0.0.11 with FP32 mode is ok, no error!

the test.onnx is converted by tf2onnx, I test the other onnx file (from pytorch), TensorRT-7.1.3.4 runs successfully.

Finally, I replace the TensorRT-7.1.3.4/lib/libnvonnxparser.so.7.1.xxx with TensorRT-7.0.0.11/lib/libnvonnxparser.so.7.0.xxx, everything works —FP32/16 and int8 calib.

this is confusing!

Environment

TensorRT Version: 7.1.3
GPU Type: T4
Nvidia Driver Version: 440.82
CUDA Version: 10.2
CUDNN Version: 8.0
Operating System + Version: centos7
Python Version (if applicable): 3.6.4
TensorFlow Version (if applicable): 1.14

Hi @1269745339
Can you share your onnx model and the script so that i can assist you better.

I replaced libnvonnxparser.so.7.1.3 with libnvonnxparser.so.7.1.0 which was built with the latest(2020/9/2) onnx-tensorrt code, then it worked.

Hi @chienkan
It seems I have a very similar problem: layers must have distinct names

May I asked how you changed the version of the onnx parser?

Just build libnvonnxparser.so.7.1.3 with the open source code:
Releases · onnx/onnx-tensorrt (github.com)