OSError(WinError 126)模块未找到求助:PyTorch shm.dll加载失败
解决WinError 126加载shm.dll失败的问题
问题重现
运行以下YOLO训练代码:
from ultralytics import YOLO model = YOLO("yolov8n.yaml") # build a new model from scratch model.train(data="data.yaml", epochs=1) # train the model
触发报错:
Traceback (most recent call last): File "d:\Python\Projects\main.py", line 1, in <module> from ultralytics import YOLO File "C:\Users\Asus\AppData\Roaming\Python\Python311\site-packages\ultralytics\__init__.py", line 5, in <module> from ultralytics.data.explorer.explorer import Explorer File "C:\Users\Asus\AppData\Roaming\Python\Python311\site-packages\ultralytics\data\__init__.py", line 3, in <module> from .base import BaseDataset File "C:\Users\Asus\AppData\Roaming\Python\Python311\site-packages\ultralytics\data\base.py", line 15, in <module> from torch.utils.data import Dataset File "C:\Users\Asus\AppData\Roaming\Python\Python311\site-packages\torch\__init__.py", line 141, in <module> raise err OSError: [WinError 126] The specified module could not be found. Error loading "C:\Users\Asus\AppData\Roaming\Python\Python311\site-packages\torch\lib\shm.dll" or one of its dependencies.
解决方案
安装/更新VC++ Redistributable运行库
shm.dll依赖微软VC运行库,下载安装对应x64版本的VC Redistributable,完成后重启电脑再尝试运行代码。重新安装PyTorch
可能是PyTorch安装不完整导致文件缺失,先卸载现有包:pip uninstall torch torchvision torchaudio -y再根据环境重新安装:
- CPU版本:
pip install torch torchvision torchaudio - 带NVIDIA CUDA支持(以CUDA 11.8为例):
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
- CPU版本:
验证Python与PyTorch版本兼容性
确保Python 3.11搭配的是支持该版本的PyTorch包,避免安装过旧的PyTorch版本。修复系统文件
以管理员权限打开命令提示符,运行以下命令修复系统缺失文件:sfc /scannow
内容的提问来源于stack exchange,提问作者edi99
相关产品推荐
相关产品推荐

