[docker]报错:ImportError: libcuda.so.1: cannot open shared object file: No such file or directory

今天在使用docker时运行tensorflow深度学习框架出现下列问题:libcuda.so.1: cannot open shared object file: No such file or directory

Traceback (most recent call last):
  File "ACE-Net.py", line 4, in <module>
    from tensorflow.python.util import deprecation
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 72, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "/usr/lib/python3.6/imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "/usr/lib/python3.6/imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: libcuda.so.1: cannot open shared object file: No such file or directory

经查询可知,运行时缺少显卡支持,没有运行gpu版本的docker.更改docker运行程序为nvidia-docker run即可正常运行。
原来的docker运行代码:

docker run --rm -ti \
--name local_lenny \
-p 6006:6006 \
-v /home/data_link2/comparison/Heterogeneous_CD/data:/storage/data \
-v /homedata_link2/comparison/Heterogeneous_CD/legacy/Deep_Image_Translation:/storage/src \
llu025/lenny:gpu \
/bin/bash

修改后的docker运行代码:

nvidia-docker run --rm -ti \
--name local_lenny \
-p 6006:6006 \
-v /home/data_link2/comparison/Heterogeneous_CD/data:/storage/data \
-v /homedata_link2/comparison/Heterogeneous_CD/legacy/Deep_Image_Translation:/storage/src \
llu025/lenny:gpu \
/bin/bash
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 这是一个导入误,误信息为“libcuda.so.1: cannot open shared object file: no such file or directory”。这个误通常是由于缺少CUDA库文件或者CUDA库文件路径不正确导致的。需要检查CUDA库文件是否存在,并且路径是否正确。如果库文件不存在,需要重新安装CUDA。如果路径不正确,需要修改路径或者设置环境变量。 ### 回答2: 这个误是由于系统找不到名为“libcuda.so.1”的共享对象文件而导致的。这个文件是一个CUDA库文件,是用于GPU计算的工具包。在使用CUDA库进行编程时,需要将其安装在系统中,否则编译器就无法找到这个文件。 解决这个问题的方法有多种,其中最常见的是通过添加库文件路径来告诉编译器在哪里查找这个文件。可以使用以下命令来添加库文件路径: export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH 或者,也可以将库文件路径添加到/etc/ld.so.conf文件中,然后运行ldconfig命令来使之生效,例如: echo /usr/local/cuda/lib64 | sudo tee -a /etc/ld.so.conf.d/cuda.conf sudo ldconfig 此外,还有一种可能的解决方法是重新安装CUDA库文件。可以通过去NVIDIA官网下载最新版本的CUDA安装包,然后根据提示进行安装即可。在安装过程中,务必要仔细检查每个步骤,确保没有出现误,否则可能会导致无法解决的问题。 总之,这个误是由于系统找不到名为“libcuda.so.1”的共享对象文件而导致的,解决这个问题的方法有多种,但最常见的是添加库文件路径,或者重新安装CUDA库文件。 ### 回答3: 这个误通常是由于缺少NVIDIA显卡所需的CUDA库文件引起的。 要解决这个问题,我们需要确保正确地安装了CUDA库。如果您已经安装了CUDA库,则可能是环境变量设置不正确,导致系统找不到库文件。 首先,您可以检查一下您的CUDA版本是否与您的显卡驱动版本兼容。NVIDIA官网上有一个CUDA兼容性列表,您可以在那里找到适合您的CUDA版本。 如果您已经安装了正确版本的CUDA,但仍然出现上述误,您可以尝试在bashrc文件中添加以下内容: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64 这将向您的环境变量中添加CUDA库的路径。如果您不知道bashrc文件的位置,请在终端中输入以下命令: echo $HOME/.bashrc 这将输出bashrc文件的位置。将上述代码添加到该文件中,并保存并关闭该文件。 然后,您可以执行以下命令以更新环境变量: source ~/.bashrc 现在,您可以重新启动您的应用程序,看看这是否修复了问题。 如果仍然有问题,您还可以重新安装CUDA库,并确保正确设置了环境变量。这个误通常是由于缺少CUDA库文件引起的,因此这可能是解决问题的最佳方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值