PyTorch入门报错:Failed to load image Python extension符号缺失如何解决?
PyTorch导入torchvision时符号缺失问题的解决办法
问题描述
运行PyTorch入门代码:
import torch from torch import nn from torch.utils.data import DataLoader from torchvision import datasets from torchvision.transforms import ToTensor
出现以下警告错误:
/project/anaconda3/lib/python3.11/site-packages/torchvision/io/image.py:13: UserWarning: Failed to load image Python extension: 'dlopen(/project/anaconda3/lib/python3.11/site-packages/torchvision/image.so, 0x0006): Symbol not found: __ZN3c106detail19maybe_wrap_dim_slowIxEET_S2_S2_b Referenced from: <E03EDA44-89AE-3115-9796-62BA9E0E2EDE> /project/anaconda3/lib/python3.11/site-packages/torchvision/image.so Expected in: <F2FE5CF8-5B5B-3FAD-ADF8-C77D90F49FC9> /project/anaconda3/lib/python3.11/site-packages/torch/lib/libc10.dylib 'If you don't plan on using image functionality from `torchvision.io`, you can ignore this warning. Otherwise, there might be something wrong with your environment. Did you have `libjpeg` or `libpng` installed before building `torchvision` from source? warn(
解决方案
场景1:无需使用torchvision.io的图像功能
- 直接忽略该警告,不影响PyTorch核心功能以及官网入门教程的后续操作(如数据集加载、模型训练等)。
- 若想屏蔽警告,可在代码开头添加:
import warnings warnings.filterwarnings("ignore", category=UserWarning, module="torchvision.io.image")
场景2:需要使用torchvision.io的图像功能
- 版本兼容修复:该错误多因torch与torchvision版本不匹配导致,卸载现有版本后安装官方匹配版本:
- 卸载当前包:
pip uninstall -y torch torchvision - 根据你的Python、CUDA版本安装对应包:
- CUDA 11.8版本(Python3.11示例):
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 - CPU版本:
pip3 install torch torchvision torchaudio
- CUDA 11.8版本(Python3.11示例):
- 卸载当前包:
- 依赖库补全:确保系统安装了libjpeg和libpng(源码编译torchvision时必需),用conda安装:
安装完成后重新安装torchvision。conda install -c conda-forge libjpeg-turbo libpng - 清理缓存重装:conda环境下可先清理缓存再重装:
conda clean --all conda install torch torchvision torchaudio
内容的提问来源于stack exchange,提问作者frydum
相关产品推荐
相关产品推荐

