Python:ImportError:DLL loadfailed while importing onnxruntime_pybind11_state: 动态链接库(DLL)初始化例程失败 报错解决

简介: 在进行文件夹内人脸识别与对比聚类时,遇到onnxruntime库报错,通常因版本不兼容或环境冲突导致。本文整理了五种解决方案:降级onnxruntime至1.14.1、重装库、区分GPU/CPU版本、安装Visual C++运行库、创建Python虚拟环境。通过版本匹配与环境隔离,有效解决DLL初始化失败等问题,提升项目稳定性。

@TOC

项目场景:

在进行一个文件夹内人脸识别与对比聚类的功能时候,遇到这个错误,查询得知通常是由于 onnxruntime 库安装不正确或与你的系统环境不兼容导致的。具体可能对应到python与onnxruntime 的版本对应问题,但是目前也没有查询到完整的对应版本,整理了网上的资料,只能逐个试试以下方法来解决了

解决方案:

1、降级onnxruntime 为1.14.1 版本

执行以下代码:

pip uninstall onnxruntime
pip install onnxruntime-gpu==1.14.1

我最后是通过这个方法解决的报错,这边附上我的相关库的版本

库名称 版本号
onnxruntime-gpu 1.14.1
onnx 1.12.0
numpy 1.26.4
torch 2.5.1+cu121
tensorflow 2.10.0
opencv-python 4.11.0.86
pillow 10.2.0

2、卸载重新安装 onnxruntime

执行以下代码:

pip uninstall onnxruntime
pip install onnxruntime

3、检查是否存在GPU与CPU的版本冲突

卸载 GPU 和 CPU 版本避免冲突

pip uninstall onnxruntime -y
pip uninstall onnxruntime-gpu -y

清理 pip 缓存

pip cache purge

然后根据需要只装一个版本:
如果你要使用 GPU(CUDA 支持)

pip install onnxruntime-gpu==1.16.0

或者如果你只用 CPU

pip install onnxruntime==1.21.1

4、安装 Visual C++ 2019 可再发行组件包

可能是由DLL 初始化失败可能与系统运行时库缺失有关,尝试安装 Microsoft Visual C++ 2019 Redistributable:
从微软官网下载并安装以下链接:Visual C++ 2019
1.png

5、创建干净的新环境 并考虑python版本

怀疑onnxruntime库的报错问题与python环境版本相关,通过 Anaconda 的虚拟环境机制解决问题。原作者这里尝试使用python3.9.19版本

1、安装 Anaconda(如未安装):
从 Anaconda 官网 下载并安装适合操作系统的版本。Anaconda 官网

2、创建独立环境:
打开 Anaconda Prompt 或终端,执行以下命令创建指定 Python 版本的环境

conda create -n onnxruntime python=3.9.19

3、激活环境:

conda activate onnxruntime

4、安装 CPU 版 ONNX Runtime:

pip install onnxruntime
目录
相关文章
|
数据采集 存储 数据可视化
四个常见的爬虫框架
【5月更文挑战第10天】本文介绍了四个常见的爬虫框架或库:Scrapy、PySpider、Crawley和Portia。Scrapy是一个强大、组件化的爬虫框架,支持异步请求和XPath数据提取。PySpider提供WebUI,便于脚本编写和结果查看,适合初学者。Crawley擅长高速爬取,支持多种数据库和数据导出格式。Portia是可视化工具,适合无编程经验的用户。此外,还有BeautifulSoup和Grab等工具可供选择。选择爬虫工具应考虑项目需求、开发者技能和工具特性。
689 0
|
并行计算 Linux 计算机视觉
还在手工标注数据集?快来试一试自动化多模型标注大模型-gui交互式标注(部署运行教程-高效生产力)
还在手工标注数据集?快来试一试自动化多模型标注大模型-gui交互式标注(部署运行教程-高效生产力)
|
3月前
|
关系型数据库 MySQL BI
为什么实时更新场景下 Doris 查询性能是 ClickHouse 的 34 倍
企业数据分析能力从TP系统起步,随业务发展历经扩展优化,最终走向AP系统独立建设。Apache Doris凭借高并发、低延迟、实时更新与强查询性能,成为实时分析架构升级的理想选择,助力网易云音乐、快手、拉卡拉等企业实现性能倍增与成本优化。
272 12
为什么实时更新场景下 Doris 查询性能是 ClickHouse 的 34 倍
|
2月前
|
数据采集 算法 机器人
具身智能:零基础入门睿尔曼机械臂(五)—— 手眼标定核心原理与数学求解
本文系统讲解手眼标定技术,涵盖Eye-in-Hand与Eye-to-Hand两种架构,深入推导AX=XB方程的数学原理与求解方法,结合实际应用场景和操作步骤,为机器人视觉开发者提供从理论到实践的完整指南。
422 9
|
11月前
|
人工智能 编解码 自动驾驶
RF-DETR:YOLO霸主地位不保?开源 SOTA 实时目标检测模型,比眨眼还快3倍!
RF-DETR是首个在COCO数据集上突破60 mAP的实时检测模型,结合Transformer架构与DINOv2主干网络,支持多分辨率灵活切换,为安防、自动驾驶等场景提供高精度实时检测方案。
2399 6
RF-DETR:YOLO霸主地位不保?开源 SOTA 实时目标检测模型,比眨眼还快3倍!
|
9月前
|
监控 数据可视化 API
掌握Multi-Agent实践(一):使用AgentScope实践入门和Workstation上手指南
掌握Multi-Agent实践(一):使用AgentScope实践入门和Workstation上手指南
1617 10
|
数据采集 JSON 网络协议
Python编程异步爬虫——aiohttp的使用
Python编程异步爬虫——aiohttp的使用
682 0
|
文字识别 PyTorch Go
从零开始的OCR之旅
本文介绍了如何配置环境并使用EasyOCR库进行OCR任务,包括安装依赖、下载必要的模型包,并提供了一个简单的使用示例。
从零开始的OCR之旅
|
计算机视觉 Windows Python
windows下使用python + opencv读取含有中文路径的图片 和 把图片数据保存到含有中文的路径下
在Windows系统中,直接使用`cv2.imread()`和`cv2.imwrite()`处理含中文路径的图像文件时会遇到问题。读取时会返回空数据,保存时则无法正确保存至目标目录。为解决这些问题,可以使用`cv2.imdecode()`结合`np.fromfile()`来读取图像,并使用`cv2.imencode()`结合`tofile()`方法来保存图像至含中文的路径。这种方法有效避免了路径编码问题,确保图像处理流程顺畅进行。
1966 1