Can not bulild TensorRT engine file on DINO-FAN_base model for jetson inference


• Hardware Platform (Jetson / GPU) Jetson Orin Nano 8GB
• DeepStream Version 6.3
• JetPack Version (valid for Jetson only) 5.1.2
• TensorRT Version 8.5.2
• NVIDIA GPU Driver Version (valid for GPU only)
• Issue Type( questions, new requirements, bugs) bugs
• How to reproduce the issue ?
I try to build TensorRT engine file on DINO-FAN_base(binary) model from Retail Object Detection for jetson inference but fail.
I build on Jetson machine with deepstream docker image:
Build Commend:
trtexec --onnx=dino_binary.onnx --workspace=4096 --saveEngine=dino_binary.engine --fp16
ERROR Message:

root@picjetson-desktop:/workspace/test/v2_b# trtexec --onnx=dino_binary.onnx --workspace=4096 --saveEngine=dino_binary.engine --fp16
&&&& RUNNING TensorRT.trtexec [TensorRT v8502] # trtexec --onnx=dino_binary.onnx --workspace=4096 --saveEngine=dino_binary.engine --fp16
[10/31/2023-02:45:14] [W] --workspace flag has been deprecated by --memPoolSize flag.
[10/31/2023-02:45:14] [I] === Model Options ===
[10/31/2023-02:45:14] [I] Format: ONNX
[10/31/2023-02:45:14] [I] Model: dino_binary.onnx
[10/31/2023-02:45:14] [I] Output:
[10/31/2023-02:45:14] [I] === Build Options ===
[10/31/2023-02:45:14] [I] Max batch: explicit batch
[10/31/2023-02:45:14] [I] Memory Pools: workspace: 4096 MiB, dlaSRAM: default, dlaLocalDRAM: default, dlaGlobalDRAM: default
[10/31/2023-02:45:14] [I] minTiming: 1
[10/31/2023-02:45:14] [I] avgTiming: 8
[10/31/2023-02:45:14] [I] Precision: FP32+FP16
[10/31/2023-02:45:14] [I] LayerPrecisions:
[10/31/2023-02:45:14] [I] Calibration:
[10/31/2023-02:45:14] [I] Refit: Disabled
[10/31/2023-02:45:14] [I] Sparsity: Disabled
[10/31/2023-02:45:14] [I] Safe mode: Disabled
[10/31/2023-02:45:14] [I] DirectIO mode: Disabled
[10/31/2023-02:45:14] [I] Restricted mode: Disabled
[10/31/2023-02:45:14] [I] Build only: Disabled
[10/31/2023-02:45:14] [I] Save engine: dino_binary.engine
[10/31/2023-02:45:14] [I] Load engine:
[10/31/2023-02:45:14] [I] Profiling verbosity: 0
[10/31/2023-02:45:14] [I] Tactic sources: Using default tactic sources
[10/31/2023-02:45:14] [I] timingCacheMode: local
[10/31/2023-02:45:14] [I] timingCacheFile:
[10/31/2023-02:45:14] [I] Heuristic: Disabled
[10/31/2023-02:45:14] [I] Preview Features: Use default preview flags.
[10/31/2023-02:45:14] [I] Input(s)s format: fp32:CHW
[10/31/2023-02:45:14] [I] Output(s)s format: fp32:CHW
[10/31/2023-02:45:14] [I] Input build shapes: model
[10/31/2023-02:45:14] [I] Input calibration shapes: model
[10/31/2023-02:45:14] [I] === System Options ===
[10/31/2023-02:45:14] [I] Device: 0
[10/31/2023-02:45:14] [I] DLACore:
[10/31/2023-02:45:14] [I] Plugins:
[10/31/2023-02:45:14] [I] === Inference Options ===
[10/31/2023-02:45:14] [I] Batch: Explicit
[10/31/2023-02:45:14] [I] Input inference shapes: model
[10/31/2023-02:45:14] [I] Iterations: 10
[10/31/2023-02:45:14] [I] Duration: 3s (+ 200ms warm up)
[10/31/2023-02:45:14] [I] Sleep time: 0ms
[10/31/2023-02:45:14] [I] Idle time: 0ms
[10/31/2023-02:45:14] [I] Streams: 1
[10/31/2023-02:45:14] [I] ExposeDMA: Disabled
[10/31/2023-02:45:14] [I] Data transfers: Enabled
[10/31/2023-02:45:14] [I] Spin-wait: Disabled
[10/31/2023-02:45:14] [I] Multithreading: Disabled
[10/31/2023-02:45:14] [I] CUDA Graph: Disabled
[10/31/2023-02:45:14] [I] Separate profiling: Disabled
[10/31/2023-02:45:14] [I] Time Deserialize: Disabled
[10/31/2023-02:45:14] [I] Time Refit: Disabled
[10/31/2023-02:45:14] [I] NVTX verbosity: 0
[10/31/2023-02:45:14] [I] Persistent Cache Ratio: 0
[10/31/2023-02:45:14] [I] Inputs:
[10/31/2023-02:45:14] [I] === Reporting Options ===
[10/31/2023-02:45:14] [I] Verbose: Disabled
[10/31/2023-02:45:14] [I] Averages: 10 inferences
[10/31/2023-02:45:14] [I] Percentiles: 90,95,99
[10/31/2023-02:45:14] [I] Dump refittable layers:Disabled
[10/31/2023-02:45:14] [I] Dump output: Disabled
[10/31/2023-02:45:14] [I] Profile: Disabled
[10/31/2023-02:45:14] [I] Export timing to JSON file:
[10/31/2023-02:45:14] [I] Export output to JSON file:
[10/31/2023-02:45:14] [I] Export profile to JSON file:
[10/31/2023-02:45:14] [I]
[10/31/2023-02:45:14] [I] === Device Information ===
[10/31/2023-02:45:14] [I] Selected Device: Orin
[10/31/2023-02:45:14] [I] Compute Capability: 8.7
[10/31/2023-02:45:14] [I] SMs: 8
[10/31/2023-02:45:14] [I] Compute Clock Rate: 0.624 GHz
[10/31/2023-02:45:14] [I] Device Global Memory: 7336 MiB
[10/31/2023-02:45:14] [I] Shared Memory per SM: 164 KiB
[10/31/2023-02:45:14] [I] Memory Bus Width: 64 bits (ECC disabled)
[10/31/2023-02:45:14] [I] Memory Clock Rate: 0.624 GHz
[10/31/2023-02:45:14] [I]
[10/31/2023-02:45:14] [I] TensorRT version: 8.5.2
[10/31/2023-02:45:15] [I] [TRT] [MemUsageChange] Init CUDA: CPU +220, GPU +0, now: CPU 249, GPU 2596 (MiB)
[10/31/2023-02:45:18] [I] [TRT] [MemUsageChange] Init builder kernel library: CPU +302, GPU +421, now: CPU 574, GPU 3036 (MiB)
[10/31/2023-02:45:18] [I] Start parsing network model
[libprotobuf ERROR google/protobuf/] Error parsing text-format onnx2trt_onnx.ModelProto: 1:1: Invalid control characters encountered in text.
[libprotobuf ERROR google/protobuf/] Error parsing text-format onnx2trt_onnx.ModelProto: 1:12: Invalid control characters encountered in text.
[libprotobuf ERROR google/protobuf/] Error parsing text-format onnx2trt_onnx.ModelProto: 1:18: Already saw decimal point or exponent; can’t have another one.
[libprotobuf ERROR google/protobuf/] Error parsing text-format onnx2trt_onnx.ModelProto: 1:14: Message type “onnx2trt_onnx.ModelProto” has no field named “pytorch”.
[10/31/2023-02:45:18] [E] [TRT] ModelImporter.cpp:688: Failed to parse ONNX model from file: dino_binary.onnx
[10/31/2023-02:45:18] [E] Failed to parse onnx file
[10/31/2023-02:45:18] [I] Finish parsing network model
[10/31/2023-02:45:18] [E] Parsing model failed
[10/31/2023-02:45:18] [E] Failed to create engine from model or file.
[10/31/2023-02:45:18] [E] Engine set up failed
&&&& FAILED TensorRT.trtexec [TensorRT v8502] # trtexec --onnx=dino_binary.onnx --workspace=4096 --saveEngine=dino_binary.engine --fp16

With this command trtexec --onnx=retail_object_detection_dino_binary.onnx --workspace=4096 --saveEngine=dino_binary.engine --fp16 it works in deepstream:6.3-triton-multiarch container on V100 dGPU and AGX Orin Jetpack5.1.2.
Can you double check the md5sum of the onnx model file? just to be sure the file is correctly downloaded.

root@node2:/workspace/deepstream# md5sum retail_object_detection_dino_binary.onnx
c2582a65ab12862d740dd420b7f8c672  retail_object_detection_dino_binary.onnx

That’s right, the onnx file was broken when i copied. It works fine now, thanks.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.