OSError: libcudart.so.11.0: cannot open shared object file: No such file or directory

文章讲述了在Ubuntu22.04环境中,使用Python3.9和Torch1.11.0时遇到的OSError,由于torch与torchaudio库版本不匹配。作者详细描述了错误排查过程,最终发现是由于torch、pytorch_lightning和torchmetrics版本问题,并给出了升级这些库到对应版本的解决方案,成功解决了问题。
部署运行你感兴趣的模型镜像

完美解决:OSError: libcudart.so.11.0: cannot open shared object file: No such file or directory

OSError: libcudart.so.11.0: cannot open shared object file: No such file or directory

环境

  • Ubuntu 22.04 LTS
  • python 3.9
  • torch 1.11.0

错误详情

运行 python train.py 报错如下:

  File "/data/miniconda3/envs/py39/lib/python3.9/site-packages/lightning_utilities/core/imports.py", line 77, in compare_version
    pkg = importlib.import_module(package)
  File "/data/miniconda3/envs/py39/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/data/miniconda3/envs/py39/lib/python3.9/site-packages/torchaudio/__init__.py", line 1, in <module>
    from torchaudio import (  # noqa: F401
  File "/data/miniconda3/envs/py39/lib/python3.9/site-packages/torchaudio/_extension.py", line 135, in <module>
    _init_extension()
  File "/data/miniconda3/envs/py39/lib/python3.9/site-packages/torchaudio/_extension.py", line 105, in _init_extension
    _load_lib("libtorchaudio")
  File "/data/miniconda3/envs/py39/lib/python3.9/site-packages/torchaudio/_extension.py", line 52, in _load_lib
    torch.ops.load_library(path)
  File "/data/miniconda3/envs/py39/lib/python3.9/site-packages/torch/_ops.py", line 220, in load_library
    ctypes.CDLL(path)
  File "/data/miniconda3/envs/py39/lib/python3.9/ctypes/__init__.py", line 382, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libcudart.so.11.0: cannot open shared object file: No such file or directory

错误原因

torch 的某个库与 torch 版本不兼容,上面的提示是 torchaudio 异常

错误排查

先执行:

pip list|grep torch

输出:

pytorch-lightning        1.7.6
torch                    1.11.0
torchaudio               0.13.0
torchmetrics             1.2.1
torchvision              0.12.0

一个一个的排除

$ python
import torchaudio
import torchmetrics
import torchmetrics

import torchaudio 得到错误:

  File "/data/miniconda3/envs/py39/lib/python3.9/site-packages/torchaudio/__init__.py", line 1, in <module>
    from torchaudio import (  # noqa: F401
  File "/data/miniconda3/envs/py39/lib/python3.9/site-packages/torchaudio/_extension.py", line 135, in <module>
    _init_extension()
  File "/data/miniconda3/envs/py39/lib/python3.9/site-packages/torchaudio/_extension.py", line 105, in _init_extension
    _load_lib("libtorchaudio")
  File "/data/miniconda3/envs/py39/lib/python3.9/site-packages/torchaudio/_extension.py", line 52, in _load_lib
    torch.ops.load_library(path)
  File "/data/miniconda3/envs/py39/lib/python3.9/site-packages/torch/_ops.py", line 220, in load_library
    ctypes.CDLL(path)
  File "/data/miniconda3/envs/py39/lib/python3.9/ctypes/__init__.py", line 382, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libcudart.so.11.0: cannot open shared object file: No such file or directory

import pytorch_lightning 得到错误:

  File "/data/miniconda3/envs/py39/lib/python3.9/site-packages/torchaudio/__init__.py", line 1, in <module>
    from torchaudio import (  # noqa: F401
  File "/data/miniconda3/envs/py39/lib/python3.9/site-packages/torchaudio/_extension.py", line 135, in <module>
    _init_extension()
  File "/data/miniconda3/envs/py39/lib/python3.9/site-packages/torchaudio/_extension.py", line 105, in _init_extension
    _load_lib("libtorchaudio")
  File "/data/miniconda3/envs/py39/lib/python3.9/site-packages/torchaudio/_extension.py", line 52, in _load_lib
    torch.ops.load_library(path)
  File "/data/miniconda3/envs/py39/lib/python3.9/site-packages/torch/_ops.py", line 220, in load_library
    ctypes.CDLL(path)
  File "/data/miniconda3/envs/py39/lib/python3.9/ctypes/__init__.py", line 382, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libcudart.so.11.0: cannot open shared object file: No such file or directory

可知 torchaudio、pytorch_lightning、torchmetrics 这几个包与 torch 版本不兼容

torch                    1.11.0

对应版本:
pytorch_lightning        2.0
torchaudio               0.11.0
torchmetrics             0.11.1

解决方法

pip安装

pip install pytorch_lightning==2.0 torchaudio==0.11.0  torchmetrics==0.11.1    -i https://mirrors.aliyun.com/pypi/simple/

验证

python train.py

正常运行,完美解决!!

参考

https://github.com/pytorch/vision#installation
https://pytorch.org/audio/main/installation.html#compatibility-matrix
https://github.com/pytorch/text
https://pytorch.org/get-started/previous-versions/

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

szZack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值