Windows环境下docTR模型导入时ONNX DLL加载失败问题求助
解决docTR OCR模型在Windows下的ONNX DLL加载错误
问题背景
在本地Windows系统的VSCode Jupyter Notebook(run.ipynb)中,通过!pip install -qe doctr/.安装docTR库后,运行导入代码:
from doctr.io import DocumentFile from doctr.models import ocr_predictor
触发错误:
ImportError: DLL load failed while importing onnx_cpp2py_export: A dynamic link library (DLL) initialization routine failed
问题解答
1. 错误根源判断
这个错误源于ONNX Runtime组件,和docTR的模型配置无关。本质是ONNX的核心DLL文件初始化失败,通常是Windows环境下依赖缺失、版本不兼容或安装损坏导致的,docTR只是调用了ONNX Runtime,本身配置没有问题。
2. 具体解决步骤
卸载并重装兼容版本的ONNX组件
先清理现有安装:pip uninstall -y onnxruntime onnx安装经过验证的稳定兼容版本:
pip install onnxruntime==1.15.1 onnx==1.14.0安装VC运行库
Windows下多数DLL初始化问题是缺少微软VC运行库,安装对应版本的Microsoft Visual C++ Redistributable for Visual Studio 2022(旧系统可选2019版本),确保安装x64版本匹配你的Python架构。清理缓存后重新安装docTR
清理pip缓存避免残留损坏文件:pip cache purge重新执行docTR安装命令:
pip install -qe doctr/.强制使用CPU模式运行
如果之前默认启用GPU加速,GPU版ONNX Runtime需要CUDA依赖,Windows环境下容易出问题,修改代码强制用CPU:from doctr.io import DocumentFile from doctr.models import ocr_predictor # 指定device为cpu predictor = ocr_predictor(pretrained=True, assume_straight_pages=True, device='cpu')检查Python版本兼容性
确保使用docTR官方支持的Python版本(推荐3.8~3.11),避免使用过新的Python 3.12,可能存在依赖不兼容问题。
内容的提问来源于stack exchange,提问作者VishIsHere26
相关产品推荐
相关产品推荐

