我正在尝试在 Windows 10 x64 系统上的 Python 虚拟环境中使用 ultralytics 包运行 YOLO 推理脚本。但是,我在尝试导入 torch 时遇到以下错误:
Traceback (most recent call last):
File "C:\Users\apoor\Desktop\football_analysis\yolo_inference.py", line 1, in <module>
import torch
File "C:\Users\apoor\Desktop\football_analysis\cv_env\Lib\site-packages\torch\__init__.py", line 148, in <module>
raise err
OSError: [WinError 126] The specified module could not be found. Error loading "C:\Users\apoor\Desktop\football_analysis\cv_env\Lib\site-packages\torch\lib\fbgemm.dll" or one of its dependencies.
到目前为止我尝试过的事情:
验证软件包安装:使用 pip 重新安装 ultralytics 和 torch。 检查 Visual C++ Redistributables:安装 x86 和 x64 版本的 Microsoft Visual C++ Redistributables。 已激活的虚拟环境:确保我的虚拟环境已正确激活。 设置Python解释器:在VS Code中选择正确的Python解释器
.
问题是 pytorch 需要特定的 DLL 文件但找不到它。 看起来您正在使用虚拟环境和 pip 作为包管理工具。我的猜测是,pytorch 的 pypi 版本不包含它需要的 DLL 文件,并且依赖于它在系统中。
解决方法是使用 conda 作为您的环境和包管理工具。 Conda 包与 pypi 包不同,因为它们通常包含在隔离环境中运行它们所需的所有内容。 要安装 conda,请转到此处:https://repo.anaconda.com/miniconda/ 并下载适合您的操作系统的最新版本的 miniconda 并安装它。
这会将 Windows 中的开始菜单的快捷方式添加到“Anaconda Prompt”。 打开它,您将进入基础 conda 环境。 要创建新环境,请使用:
conda create --name my-env python pytorch torchvision pandas <any other package you need>
然后使用以下命令进入环境:
conda activate my-env
并尝试运行您的脚本。