Description
I am using the C++ API in a very basic way to generate a serialized trt engine from an .onnx model.
I get an error at buildSerializedNetwork.
The error is the following:
TensorRT: 2: Assertion isOpConsistent(deconvolution.get()) failed. Cask deconvolution isConsistent check failed.
TensorRT: 2: [deconvolutionV2Builder.cpp::nvinfer1::builder::CaskDeconvolutionBuilderBase<class nvinfer1::builder::CaskD
econvolutionV2Builder,class nvinfer1::rt::task::CaskDeconvolutionV2Runner,-2147483603>::createDeconvolution::863] Error
Code 2: Internal Error (Assertion isOpConsistent(deconvolution.get()) failed. Cask deconvolution isConsistent check fail
ed.)
My model is exported with dynamic dimensions so I create an OptimizationProfile with the min, opt and max dimensions.
This is where I don’t understand the error, building the engine works for some dimension, but not for others.
Some examples of working dimension configurations:
"minimum": [45, 41, 27],
"maximum": [50, 50, 32],
"optimum": [50, 50, 32]
"minimum": [200, 200, 32],
"maximum": [200, 200, 32],
"optimum": [200, 200, 32]
"minimum": [195, 195, 27],
"maximum": [200, 200, 32],
"optimum": [200, 200, 32]
Examples of not working dimensions:
"minimum": [50, 48, 15],
"maximum": [50, 200, 32],
"optimum": [50, 50, 32]
"minimum": [45, 41, 27],
"maximum": [50, 100, 32],
"optimum": [50, 45, 32]
As the assertion is thrown from inside the library implementation I have no chance looking at the condition that is tested in this assertion.
Does anybody know what this could be?
Environment
TensorRT Version: 8.6.1.6
GPU Type: GeForce RTX 3050 Ti Laptop
Nvidia Driver Version: 546.09
CUDA Version: 12.0
CUDNN Version: 8.9.5.29
Operating System + Version: Windows 11
Python Version (if applicable): 3.9
TensorFlow Version (if applicable):
PyTorch Version (if applicable):
Baremetal or Container (if container which image + tag): baremetal