我正在尝试在启用 GPU 的机器(RTX 2060)上构建一个 docker 容器来运行一些对象检测(暗网)代码。当使用 Ubuntu 18.04 时,我能够构建 docker 文件并运行代码而没有任何问题,但自从更新到 Ubuntu 20.04(以及 CUDA 驱动程序等)后,我遇到了以下问题:
libcudart.so.9.0:无法打开共享对象文件:没有此文件或目录
我当前的系统是:
- Ubuntu 20.04
- NVIDIA-SMI 455.32.00
- CUDA 版本:11.1
我的问题是:
可以在 Ubuntu 20.04 上安装 CUDA 9.0 吗?
答案1
答案似乎是“是”。
我做了什么:
我下载了运行文件来自 NVIDIA 并按照其安装说明进行操作,即使它不是针对 ubuntu 20.04 而是 17.04。我跳过了驱动程序安装,只选择安装 CUDA。
CUDA安装后,我在“~/.profile”中添加了环境变量的路径:
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
然后这个警告对我来说就消失了。
我的系统:Ubuntu:20.04
.nvidia-smi:535.129.03
.nvcc--version 10.1
:.
答案2
我和你有同样的疑问,并且我花了好几个月才弄明白。
尝试了很多方法后,我建议使用虚拟环境来安装 cuda 和 cudnn。没有必要从 Nvidia 网站下载 cuda 和 cudnn。
下面是我通过 miniconda 安装 tensorflow-gpu 的步骤,其他软件包可以在虚拟环境中通过 pip 安装。
我目前的系统:Ubuntu 20.04,nvidia-smi:驱动程序470.130.01,cuda 11.4(提示:此版本只是您可以安装的最新版本的cuda,而不是已经安装的cuda)
我想要安装的软件包。python==3.6,tensorflow-gpu==1.12.0。
与 tensorflow-gpu=1.12 匹配的 cuda 和 cudnn 具体版本是 cuda==9.0 和 cudnn==7.6.5
conda create -n YourEnvironmentName python=3.6
conda activate YourEnvironmentName
conda install tensorflow-gpu==1.12.0
不需要安装 cuda 或 cudnn,因为它们都会通过安装 tensorflow-gpu 自动安装。
您可以通过以下代码检查您环境中软件包的版本。
conda list
您还可以通过以下方式测试 TensorFlow 是否正常工作
python
import tensorflow as tf
print(tf.__version__)
如果没有其他错误,只有警告或除了 tensorflow 版本之外没有其他消息。则表示您已完成安装。
然后,可以通过pip install 安装其他包来完成虚拟环境的设置。
pip install scipy==1.0.0 matplotlib==3.0.2 librosa==0.6.2
一起安装软件包可以减少冲突。
可能还有一些不是 cuda 或 cudnn 的错误信息,你可以自己 google 错误信息来找到原因。大多数错误都是因为包版本冲突,只需要卸载最新版本,安装旧版本,就可以修复。
最后,您可以在此环境中运行python文件,没有任何问题。