> 技术文档 > Winwos上编译opencv的GPU版本推理yolov8

Winwos上编译opencv的GPU版本推理yolov8


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 

韶关房产网