【问题标题】:libcudart.so.9.0: cannot open shared object file: No such file or directorylibcudart.so.9.0:无法打开共享对象文件:没有这样的文件或目录
【发布时间】:2020-01-27 08:35:53
【问题描述】:

我在 Ubuntu 18.04 下使用 Pytorch 并尝试使用 import torchvision,但收到错误 libcudart.so.9.0: cannot open shared object file: No such file or directory

有人可以帮忙解决吗?谢谢。

以下信息是详细的错误日志:

Traceback (most recent call last):
  File "/home/x/.local/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2882, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-2-6dd351122000>", line 1, in <module>
    import torchvision
  File "/home/x/pycharm-2019.2/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/home/x/.local/lib/python3.6/site-packages/torchvision/__init__.py", line 1, in <module>
    from torchvision import models
  File "/home/x/pycharm-2019.2/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/home/x/.local/lib/python3.6/site-packages/torchvision/models/__init__.py", line 11, in <module>
    from . import detection
  File "/home/x/pycharm-2019.2/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/home/x/.local/lib/python3.6/site-packages/torchvision/models/detection/__init__.py", line 1, in <module>
    from .faster_rcnn import *
  File "/home/x/pycharm-2019.2/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/home/x/.local/lib/python3.6/site-packages/torchvision/models/detection/faster_rcnn.py", line 7, in <module>
    from torchvision.ops import misc as misc_nn_ops
  File "/home/x/pycharm-2019.2/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/home/x/.local/lib/python3.6/site-packages/torchvision/ops/__init__.py", line 1, in <module>
    from .boxes import nms, box_iou
  File "/home/x/pycharm-2019.2/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/home/x/.local/lib/python3.6/site-packages/torchvision/ops/boxes.py", line 2, in <module>
    from torchvision import _C
  File "/home/x/pycharm-2019.2/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
ImportError: libcudart.so.9.0: cannot open shared object file: No such file or directory
import torch
import torch.nn as nn
import torchvision.transforms as transforms
Traceback (most recent call last):
  File "/home/x/.local/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2882, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-4-677acbcfae34>", line 1, in <module>
    import torchvision.transforms as transforms
  File "/home/x/pycharm-2019.2/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/home/x/.local/lib/python3.6/site-packages/torchvision/__init__.py", line 1, in <module>
    from torchvision import models
  File "/home/x/pycharm-2019.2/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/home/x/.local/lib/python3.6/site-packages/torchvision/models/__init__.py", line 11, in <module>
    from . import detection
  File "/home/x/pycharm-2019.2/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/home/x/.local/lib/python3.6/site-packages/torchvision/models/detection/__init__.py", line 1, in <module>
    from .faster_rcnn import *
  File "/home/x/pycharm-2019.2/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/home/x/.local/lib/python3.6/site-packages/torchvision/models/detection/faster_rcnn.py", line 7, in <module>
    from torchvision.ops import misc as misc_nn_ops
  File "/home/x/pycharm-2019.2/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/home/x/.local/lib/python3.6/site-packages/torchvision/ops/__init__.py", line 1, in <module>
    from .boxes import nms, box_iou
  File "/home/x/pycharm-2019.2/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/home/x/.local/lib/python3.6/site-packages/torchvision/ops/boxes.py", line 2, in <module>
    from torchvision import _C
  File "/home/x/pycharm-2019.2/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
ImportError: libcudart.so.9.0: cannot open shared object file: No such file or directory

【问题讨论】:

    标签: cuda pytorch torchvision


    【解决方案1】:

    如果您使用的是anaconda,以下可能会解决您的问题。

    conda install -c anaconda cudatoolkit==9.0
    

    您也可以尝试以下方法。

    确保 CUDA 版本为 9.0。并将以下两行添加到~/.bashrc

    export PATH=/usr/local/cuda/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
    

    然后,运行:

    source  ~/.bashrc
    

    将以下行添加到/etc/ld.so.conf.d/cuda.conf

    /usr/local/cuda/lib64
    

    然后运行:

    sudo ldconfig
    

    【讨论】:

    • 我还没用过conda,有必要安装它来解决这个问题吗?
    • 不,它只是一种替代方法,在许多情况下设置环境的痛苦较小。
    • 只是想知道我安装了cuda 10.0,为什么找不到libcudart 9.0?
    • 您是否为 CUDA 9.0 或 10.0 安装了 PyTorch?
    • 也许我应该为 cuda 10.0 重新安装 pytorch
    【解决方案2】:

    使用anaconda,火炬版本为:

    pytorch==1.1.0
    torchvision==0.3.0
    cudatoolkit=10.0
    

    遇到同样的问题,把torchvision==0.3.0改成torchvision==0.2.2解决

    【讨论】:

      【解决方案3】:
      1. 使用以下方法之一检查您的 CUDA 版本:

         nvidia-smi
         nvcc -V
        
      2. 像这样检查你的 Pytorch CUDA 版本:

         python
         import torch
         torch.version.cuda
        
      3. 版本应该匹配。否则,您需要升级/降级 CUDA 或对 Pytorch 执行相同操作。错误libcudart.so.9.0: cannot open shared object file: No such file or directory 表示版本不匹配。你有 CUDA 9.0 的 Pytorch,但你的 CUDA 是另一个版本。

      4. 要解决这个问题,请使用正确的 CUDA 版本安装 Pytorch,如下所示:

         conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch
        

      注意:将 Pytorch 和 CUDA Toolkit 版本替换为所需版本。检查可用版本here

      1. 如果适用,重建你的 Pytorch:

         rm -rf build
         python setup.py develop
        

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-10
        • 2021-11-27
        • 2019-01-12
        • 1970-01-01
        • 2015-04-12
        • 2018-11-26
        相关资源
        最近更新 更多