marcoslucianops / DeepStream-Yolo

NVIDIA DeepStream SDK 7.0 / 6.4 / 6.3 / 6.2 / 6.1.1 / 6.1 / 6.0.1 / 6.0 / 5.1 implementation for YOLO models
MIT License
1.38k stars 343 forks source link

ERROR with int8 #526

Open chrichard opened 3 months ago

chrichard commented 3 months ago

Using DeepStream-Yolo, when converting the yolov8 ONNX model to int8, the following error occurs. How can I solve this? The machine environment is as follows: CUDA:12.0 OPENCV:4.8 Driver:525.125.06 GPU:Nvidia P4 Deepstream:6.3

-----------------------LOG-------------------------------------------- gstnvtracker: Loading low-level lib at /opt/nvidia/deepstream/deepstream/lib/libnvds_nvmultiobjecttracker.so [NvMultiObjectTracker] Initialized WARNING: [TRT]: CUDA lazy loading is not enabled. Enabling it can significantly reduce device memory usage. See CUDA_MODULE_LOADING in https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#env-vars WARNING: ../nvdsinfer/nvdsinfer_model_builder.cpp:1487 Deserialize engine failed because file path: /AI/UnisStream/uniszoo/models/yolov8/yolov8n_traffic_b22_gpu0_int8.engine open error WARNING: [TRT]: CUDA lazy loading is not enabled. Enabling it can significantly reduce device memory usage. See CUDA_MODULE_LOADING in https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#env-vars WARNING: ../nvdsinfer/nvdsinfer_model_builder.cpp:659 INT8 calibration file not specified/accessible. INT8 calibration can be done through setDynamicRange API in 'NvDsInferCreateNetwork' implementation WARNING: [TRT]: onnx2trt_utils.cpp:377: Your ONNX model has been generated with INT64 weights, while TensorRT does not natively support INT64. Attempting to cast down to INT32. WARNING: [TRT]: onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped WARNING: [TRT]: Tensor DataType is determined at build time for tensors not marked as input or output.

Building the TensorRT Engine

File does not exist: /AI/models/yolov8/calib_yolov8n_traffic.table WARNING: [TRT]: Calibration Profile is not defined. Calibrating with Profile 0 WARNING: [TRT]: CUDA lazy loading is not enabled. Enabling it can significantly reduce device memory usage. See CUDA_MODULE_LOADING in https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#env-vars Load image: /AI/DLDataSet/calibration/00000431.jpg Progress: 0.020004% Load image: /AI/DLDataSet/calibration/00001011.jpg Progress: 0.040008% Load image: /AI/DLDataSet/calibration/00001151.jpg Progress: 0.060012% Load image: /AI/DLDataSet/calibration/00001601.jpg Progress: 0.080016% Load image: /AI/DLDataSet/calibration/00001611.jpg Progress: 0.10002% Cuda failure: status=700 nvbufsurface: Error(-1) in releasing cuda memory gstnvtracker: Got -1 destroying nvbufsurface 0x5559b2dd0e80 Cuda failure: status=700 nvbufsurface: Error(-1) in releasing cuda memory gstnvtracker: Got -1 destroying nvbufsurface 0x5559b2d34c60 [NvMultiObjectTracker] De-initialized