我正在运行 YOLOv8 的推理 (C++) 示例,您可以在官方存储库中找到该示例。它在 CPU 上运行正常(慢),但正确绘制了方框,没有使用 GPU,它保持在 0%。
当我将其更改为 GPU 时,它不会绘制方框。我可以看到 GPU 运行在 25%(它是 NVIDIA 4080)处理图片所需的时间。
我开始调试代码,我可以看到它用GPU和CPU检测到相同数量的盒子,但GPU模式下的坐标始终为0。
OpenCV 编译时支持 CUDA 和 CUDNN,我可以看到 opencv 检测到我的 nvidia 卡。
知道为什么 OpenCV 不返回 GPU 上的框坐标吗?
问候
我期望 GPU 或 CPU 具有相同的行为,只是 GPU 上速度更快。
经过一整天的搜索,我找到了解决方案。
https://github.com/ultralytics/ultralytics/issues/3682
就我而言,我只需要从 OpenCV 4.8 回滚到 OpenCV 4.7。已测试并工作。
希望有帮助。