首页 > 编程语言 >C# 调用YoloSharp.Gpu,调用Microsoft.ML.OnnxRuntime.Gpu出错126

C# 调用YoloSharp.Gpu,调用Microsoft.ML.OnnxRuntime.Gpu出错126

时间:2025-01-08 20:54:38浏览次数:1  
标签:调用 OnnxRuntime C# CUDNN Gpu YoloSharp onnxruntime

今天使用C#调用YoloSharp.Gpu,加载onnx模型,然后检测,代码很简单。

// Load the YOLO predictor
predictor ??= new YoloPredictor(@"path to your.onnx");

// Run model
var result = predictor.Detect(@"path to your image");

一运行就爆错ONNXRuntimeError : 1 : FAIL : LoadLibrary failed with error 12。
Nuget改用不是CPU版本的YoloSharp就没问题,这就奇怪了。后来查资料发现有人说是ONNXRuntime、CUDA、CUDNN三者的版本不对应,但是我的版本是对应的,完全符合官方要求啊。
这样不能运行就没有天理了,网上的解决方案可以说是乱七八糟,微软爆出来的错误指导方向就是错的。
YoloSharp.Gpu:6.0.1
ONNXRuntime:1.20.0
CUDA:12.6.3
CUDNN:9.6.0

image

对应关系参考官方文档:https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html

Microsoft.ML.OnnxRuntime.OnnxRuntimeException:“[ErrorCode:RuntimeException] D:\a\_work\1\s\onnxruntime\core\session\provider_bridge_ort.cc:1539 
onnxruntime::ProviderLibrary::Get [ONNXRuntimeError] : 1 : FAIL : LoadLibrary failed with error 126 "" when trying to load 
"C:\Users\Vincent\source\repos\WpfApp1\WpfApp1\bin\x64\Debug\net8.0-windows\runtimes\win-x64\native\onnxruntime_providers_cuda.dll"

后来研究发现onnxruntime_providers_cuda.dll缺少依赖,使用Dependencies查找发现,缺少cudnn64_9.dll。这个文件就是CUDNN的安装目录里面的,所以果断把C:\Program Files\NVIDIA\CUDNN\v9.6\bin\12.6\里面所有的文件都复制到exe目录里面,完美解决!!!

话又说回来,微软不应该爆缺少依赖么,真是瞎杰宝爆

标签:调用,OnnxRuntime,C#,CUDNN,Gpu,YoloSharp,onnxruntime
From: https://www.cnblogs.com/hupo376787/p/18660538

相关文章

  • Codeforces Round 986 (Div. 2) CF2028 代码集
    CodeforcesRound986(Div.2)CF2028代码集目录CodeforcesRound986(Div.2)CF2028代码集CF2028A-Alice'sAdventuresin''Chess''CF2028B-Alice'sAdventuresinPermutingCF2028C-Alice'sAdventuresinCuttingCakeCF2024D-A......
  • [CF2039G] Shohag Loves Pebae 做题记录
    link高级筛法题。每条路径的条件是很难求的,考虑将其转化。发现对于一条路径,点数为\(c=a\cdotb\),那么其条件是无用的:考虑其包含的所有点数为\(a\)的路径,需要满足这\(c\)个点的权值乘积不被\(a\)整除。进一步的,只有点数为质数的路径条件才有用。对于每个点\(i\),求出......
  • 【GUI-pyqt5】QAbstractButton类
    1.描述所有按钮控件的基类提供按钮的通用功能2.继承QWidget3.功能3.1提示文本3.1.1APIAPI功能备注setText(str)设置按钮提示文本-text()获取按钮提示文本-3.1.2应用场......
  • 【OpenCV编译教程】VS2017+OpenCV环境配置
    下载安装visualstudio、下载安装OpenCV(安装教程)后,需要在项目中配置OpenCV。步骤1:打开VisualStudio2017,创建一个新的C++项目或打开现有项目。步骤2:点击“视图”菜单,选择“其他窗口”>“属性管理器”,打开属性管理器窗口,如图1所示。图1步骤3:双击指定运行环境,打开配......
  • 【Javascript Day3】转换、比较及分支结构,if、switch语句
    目录数据类型转化(续Day2)转Boolean类型自动转换和比较运算符分支结构分支嵌套if分支:自定义判断条件的 switchcase分支:自定义判断用于恒等于条件数据类型转化(续Day2)转Boolean类型    //1.自动转换        //在非boolean类型......
  • C语言编程常见错误与防范策略(大纲)
            引言 C语言自1972年诞生以来,因其高效、灵活的特性,在系统编程、嵌入式开发等领域占据了不可替代的地位。然而,C语言的这些特性也是一把双刃剑,容易导致编程错误。本文将总结C语言编程中常见的错误类型,并提出相应的防范策略。本文为大纲,下一章将针对大纲进行举例......
  • Recursive Decomposition of Logical Thoughts: Framework for Superior Reasoning an
    题目逻辑思维的递归分解:大型语言模型中高级推理和知识传播的框架论文地址:https://arxiv.org/abs/2501.02026摘要    增强大型语言模型的推理能力仍然是人工智能领域的一大挑战。我们引入了RDoLT(逻辑思维递归分解)提示,这是一个显著提高LLM推理性能的新颖框架。RD......
  • Confidence v.s. Critique: A Decomposition of Self-Correction Capability for LLMs
    题目信心v.s.批判:LLM自我修正能力的分解论文地址:https://arxiv.org/abs/2412.19513项目地址:https://github.com/Zhe-Young/SelfCorrectDecompose摘要    大型语言模型(LLM)可以纠正其自生成的响应,但自纠正后的准确性也有所下降。为了对自我纠错有更深入的理解......
  • 在arcgis中使用sdmtoolbox将tif批量转化为asc
     数据数据来自woldclimhttps://worldclim.org/data/index.html,下载的是历史数据Bioclimaticvariables,分辨率是30'。下载好后解压放在同一个文件夹下,文件夹存放路径不要有中文软件准备使用的arcgis版本为10.8,插件sdmtoolbox需要从网上下载http://www.sdmtoolbox.org/dow......
  • vector底层实现详讲
    目录1.vector的介绍1.1vector构造函数的定义1.2vectoriterator的使用1.3vector的空间增长问题1.4vector的增删查改2.vector代码的实现2.1vector扩容2.2插入元素2.3删除元素2.4成员函数初始化2.4.1拷贝构造2.4.2赋值运算符重载2.4.3构造函数(迭代器......