emptysoal / TensorRT-YOLOv8

Based on tensorrt v8.0+, deploy detect, pose, segment, tracking of YOLOv8 with C++ and python api.
MIT License
49 stars 10 forks source link

c++ yolov8-seg 运行问题 #1

Closed jwb666666 closed 2 months ago

jwb666666 commented 2 months ago

我在运行您的代码时,大概在一段时间以后,会出现如下错误,后面输出的图像没有被正确的实例分割



image: 0000000437.png cost: 12 ms.
ERROR: 1: [context.cpp::setStream::82] Error Code 1: Cudnn (CUDNN_STATUS_MAPPING_ERROR)
CUDA runtime API error cudaErrorIllegalAddress at line 163 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 204 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 207 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 210 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 213 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 214 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 213 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 214 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 213 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 214 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 213 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 214 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 213 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 214 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 213 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 214 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 213 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 214 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 213 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 214 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 213 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 214 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 213 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 214 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 213 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 214 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 213 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 214 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 213 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 214 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 242 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 247 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 252 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 252 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 252 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 252 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 252 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 252 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 252 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 252 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 252 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 252 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 252 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 252 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 252 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 255 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 256 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 257 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 258 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
CUDA runtime API error cudaErrorIllegalAddress at line 259 in file /home/jwb/Project/learn/yolo/TensorRT-YOLOv8/C++/segment/src/infer.cpp
Image: 0000000105.png cost: 12 ms.
jwb666666 commented 2 months ago

_0000000018

jwb666666 commented 2 months ago

我查看显卡显存,发现显存是不断增加直到最大,内存似乎没有成功释放,然后报错了。

jwb666666 commented 2 months ago

作者您好,我在调试过程发现在src下的draw.cu文件中draw_mask虽然分配了内存,但没有释放这些内存。每次调用该函数时,都会在 GPU 上保留一份图像数据和掩码数据的副本,导致显存使用量逐渐增加。我在函数末尾添加了// 释放 GPU 内存 cudaFree(imgDataDevice); cudaFree(maskDevice); 每次调用 draw_mask 函数后都会释放之前分配的 GPU 内存,从而避免显存使用量不断增加的问题。

emptysoal commented 2 months ago

我看了下,确实是,应该是当时觉得就是个展示的功能,写的时候没太在意