Description
I get this error when building YOLOv4 TensorRT engines for DLA core on Jetson Xavier NX. What does this error message mean??
[TensorRT] ERROR: …/builder/cudnnBuilderGraph.cpp (448) - Assertion Error in getDefinition: 0 (mIndex >= 0 && “symbol is not concrete”)
Environment
TensorRT Version: 7.1.3.4
GPU Type: Jetson Xavier NX
Nvidia Driver Version: JetPack-4.4
CUDA Version: 10.2
CUDNN Version: 8.0
Operating System + Version: 4 4.9.140-tegra
Python Version (if applicable): 3.6
Baremetal or Container (if container which image + tag): baremetal
Relevant Files
Steps To Reproduce
I use python API to build YOLOv4 TensorRT engine for DLA core, and get the error.
builder.max_batch_size = MAX_BATCH_SIZE
config = builder.create_builder_config()
config.max_workspace_size = 1 << 30
config.set_flag(trt.BuilderFlag.GPU_FALLBACK)
config.set_flag(trt.BuilderFlag.FP16)
profile = builder.create_optimization_profile()
profile.set_shape(
'000_net', # input tensor name
(MAX_BATCH_SIZE, 3, net_h, net_w), # min shape
(MAX_BATCH_SIZE, 3, net_h, net_w), # opt shape
(MAX_BATCH_SIZE, 3, net_h, net_w)) # max shape
config.add_optimization_profile(profile)
if do_int8:
config.set_flag(trt.BuilderFlag.INT8)
config.int8_calibrator = YOLOEntropyCalibrator(...)
config.set_calibration_profile(profile)
config.default_device_type = trt.DeviceType.DLA
config.DLA_core = 0
config.set_flag(trt.BuilderFlag.STRICT_TYPES)
print('Using DLA core 0.')
engine = builder.build_engine(network, config)
Error:
[TensorRT] ERROR: …/builder/cudnnBuilderGraph.cpp (448) - Assertion Error in getDefinition: 0 (mIndex >= 0 && “symbol is not concrete”)