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