c#使用调YOLOV5对象检测,并调用CUDA进行计算
1.CUDA版本11.2
2.cuDNN用cudnn-windows-x86_64-8.9.3.28_cuda11-archive
记得把压缩包的三个文件夹放到cuda根目录下覆盖
3.Microsoft.ML.OnnxRuntime.Gpu要使用1.13.1,如果版本太新,SessionOptions会报错。
private SessionOptions GetSessionOptions(){bool supportGPU = (Environment.GetEnvironmentVariable("CPAI_MODULE_SUPPORT_GPU") ?? "true").ToLower() == "true";SessionOptions sessionOpts = new SessionOptions();string[]? providers = null;try{providers = OrtEnv.Instance().GetAvailableProviders();}catch{}sessionOpts.AppendExecutionProvider_CUDA();//显卡用这个//sessionOpts.AppendExecutionProvider_CPU();return sessionOpts;}//初始化onnx模型的代码SessionOptions sessionOpts = GetSessionOptions();_scorer = new YoloScorer<YoloCocoP5Model>("Assets/Weights/yolov5n.onnx", sessionOpts);_capture = new VideoCapture("http://192.168.151.130:8080/video"); // 手机摄像头流媒体
但是最终在2060笔记本显卡上发现 CUDA速度不如AMD的CPU快。。。