无法加载动态库“libcudart.so.11.0”;

2024-05-17

我尝试将 Tensorflow 2.7.0 与 GPU 结合使用,但我不断遇到同样的问题:

2022-02-03 08:32:31.822484: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /home/username/.cache/pypoetry/virtualenvs/poetry_env/lib/python3.7/site-packages/cv2/../../lib64:/home/username/miniconda3/envs/project/lib/
2022-02-03 08:32:31.822528: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.

这个问题已经在这里和 github 上出现过多次。然而,通常建议的解决方案是:a) 下载丢失的 CUDA 文件,b) 降级/升级到正确的 CUDA 版本,c) 设置正确的 CUDA 版本LD_LIBRARY_PATH.

我已经在我的电脑上使用了支持 CUDA 的 PyTorch,并且没有遇到任何问题。我的nvidia-smi返回 11.0 版本,这正是我想要的。另外,如果我尝试运行:

import os
LD_LIBRARY_PATH = '/home/username/miniconda3/envs/project/lib/'
print(os.path.exists(os.path.join(LD_LIBRARY_PATH, "libcudart.so.11.0")))

它返回True。这正是LD_LIBRARY_PATH从错误消息来看,Tensorflow 显然无法看到libcudart.so.11.0(就在那里)。

我确实缺少一些明显的东西吗?

nvidia-smi output:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.156.00   Driver Version: 450.156.00   CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+

nvcc:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243

Firstly:你能找到“libcudart.so.11.0”在哪里吗 如果您在错误堆栈中丢失了它,您可以用下面的单词替换“libcudart.so.11.0”:

sudo find / -name 'libcudart.so.11.0'

在我的系统中输出。此结果显示“libcudart.so.11.0”在系统中的位置:

/usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudart.so.11.0

如果结果没有显示,请确保您的系统中已经安装了cuda或其他必须安装的东西。

Second,添加环境文件的路径。

# edit /etc/profile
sudo vim /etc/profile
# append path to "LD_LIBRARY_PATH" in profile file
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.1/targets/x86_64-linux/lib
# make environment file work
source /etc/profile

你也可以参考这个link https://github.com/tensorflow/tensorflow/issues/45930#issuecomment-773308437

您可以尝试的第三件事是:

conda install cudatoolkit
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法加载动态库“libcudart.so.11.0”; 的相关文章

随机推荐