1.工具
VS2019
opencv4.7.0
opencv_contrib4.7.0
Cmake3.27.0
cudnn-windows-x86_64-8.5.0.96_cuda11-archive
2.具體流程
1.配置路徑和編譯器后點擊configure
2.提前下載相關的包,如下圖所示
3.第一次configure完成后,需要再配置編譯選項
在編譯選項中進行勾選:BUILD_CUDA_STUBS、OPENCV_DNN_CUDA、WITH_CUDA、OPENCV_ENABLE_NONFREE、build_opencv_world打勾;
BUILD_DOCS、BUILD_EXAMPLES、BUILD_PACKAGE、BUILD_TESTS、BUILD_PERF_TESTS、BUILD_opencv_python不打勾(可以不要這部分);
配置 OPENCV_EXTRA_MODULES_PATH,如下圖:
取消python接口的編譯,后面install的話python的安裝可能會有問題
4.再次configure,沒有問題后勾選CUDA_FAST_MATH和ENABLE_FAST_MATH,就可以Generating了。
5.Generating完成后,準備工作就已經完成,接下來就是用vs2019進行編譯。
打開VS2019,選擇Release模式,右鍵選擇CMakeTargets中的ALL_BUILD,右鍵生成就可以等待了。
6.編譯成功后點擊INSTALL生成
在install路徑下就可以找到編譯好的庫和頭文件了
3.yolov8推理?
參考:
https://github.com/ultralytics/ultralytics/issues/19220
yolov8n.onnx導出需要設置opset=12,用11會報錯shape不對的錯誤。
model.export(format="onnx", imgsz=640, optimize=True, simplify=True, opset=12)
yolo export model=yolov8s.pt imgsz=640,640 format=onnx opset=12
代碼:
https://github.com/ultralytics/ultralytics/tree/v8.2.103/examples/YOLOv8-CPP-Inference
4.onnxruntime-gpu的yolov8推理?
工具
onnxruntime-win-x64-gpu-1.17.1
Opencv4.5.5
cudnn-windows-x86_64-8.5.0.96_cuda11-archive
其他設置在vs2019里面
符合模式和C++語言標準
?
代碼:
https://github.com/ultralytics/ultralytics/tree/v8.2.103/examples/YOLOv8-ONNXRuntime-CPP?