Ubuntu 18.04.1-Cuda 10.1 安装,将 nvidia 驱动程序更新为 455,与 tensorflow 不兼容,

Ubuntu 18.04.1-Cuda 10.1 安装,将 nvidia 驱动程序更新为 455,与 tensorflow 不兼容,

我的 tensorflow 2.3.1 设置与 cuda 10.1 运行正常,直到我错误地更新了 nvidia 驱动程序和 cuda。

以下是我安装 cuda 10-1 的步骤

  1. 清除所有 cuda 和 nvidia 驱动程序

sudo apt-get——清除删除”库布拉斯“cuda*” “nsight*”

sudo apt-get——清除“nvidia*”

sudo apt-get 自动删除 sudo apt-get 自动清洁 sudo rm -rf /usr/local/cuda*

重启

  1. 此后,我按照 tensorflow 页面上的说明进行操作

https://www.tensorflow.org/install/gpu

获得https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.1.243-1_amd64.deb

sudo apt-key adv --fetch-keyshttps://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub

sudo dpkg -i cuda-repo-ubuntu1804_10.1.243-1_amd64.deb

sudo apt-get 更新

获得http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb

sudo apt install ./nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb

sudo apt-get 更新

  1. sudo apt-get install --no-install-recommends nvidia-driver-450

  2. sudo apt-get install --no-install-recommends cuda-10-1

它在我的 /usr/local cuda-10.1 cuda-10.2 中创建了 2 个文件夹

在此步骤中,它会删除 450 驱动程序并安装 455,以下是我收到的部分信息

以下软件包将被删除:libnvidia-cfg1-450 libnvidia-compute-450 libnvidia-decode-450 libnvidia-encode-450 libnvidia-extra-450 libnvidia-fbc1-450 libnvidia-gl-450 libnvidia-ifr1-450 nvidia-compute-utils-450 nvidia-dkms-450 nvidia-driver-450 nvidia-kernel-common-450 nvidia-kernel-source-450 nvidia-utils-450 xserver-xorg-video-nvidia-450

如果我继续安装 libcudnn7 和 tensorflow

sudo apt-get install --no-install-recommends
libcudnn7=7.6.5.32-1+cuda10.1
libcudnn7-dev=7.6.5.32-1+cuda10.1

我在 python 中得到这个

tf.config.list_physical_devices(“GPU”)

2020-10-07 13:10:02.262260:E tensorflow/stream_executor/cuda/cuda_diagnostics.cc:313] 内核版本 450.80.2 与 DSO 版本 455.23.5 不匹配 - 在此配置中找不到工作设备

为了解决这个问题我尝试

  1. 卸载 455

sudo apt purge nvidia-455*

重新安装 tensorflow,现在我在 python 中收到此错误

tf.config.list_physical_devices(“GPU”)

2020-10-07 13:20:46.923513:I tensorflow/stream_executor/platform/default/dso_loader.cc:48] 成功打开动态库 libcuda.so.1 2020-10-07 13:20:46.959289:I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:982] 成功从 SysFS 读取的 NUMA 节点具有负值(-1),但必须至少有一个 NUMA 节点,因此返回 NUMA 节点零 2020-10-07 13:20:46.959608:I tensorflow/core/common_runtime/gpu/gpu_device.cc:1716] 找到具有以下属性的设备 0:pciBusID:0000:01:00.0 名称:GeForce RTX 2070 计算能力:7.5 核心时钟:1.62GHz 核心数:36 设备内存大小:7.79GiB 设备内存带宽:417.29GiB/s 2020-10-07 13:20:46.959626:I tensorflow/stream_executor/platform/default/dso_loader.cc:48] 成功打开动态库 libcudart.so.10.1 2020-10-07 13:20:46.959769:W tensorflow/stream_executor/platform/default/dso_loader.cc:59]无法加载动态库“libcublas.so.10”;dlerror:libcublas.so.10:无法打开共享对象文件:没有此文件或目录

如何修复此问题,谢谢

答案1

Terrance 的回复有助于解决驱动程序升级问题,但必须安装额外的软件包并设置配置文件。

https://www.pugetsystems.com/labs/hpc/How-to-install-CUDA-9-2-on-Ubuntu-18-04-1184/帮助采取额外措施

以下是我针对 unix 18.04 上使用带有 nvidia 450 驱动程序的 cuda10.1 的步骤

脚步:

在从运行文件安装 cuda 之前,我们需要安装驱动程序

##驱动程序,这是根据 TensorFlow 要求的,455 不适用于当前 TensorFlow 版本

  1. sudo apt-get install --no-install-recommends nvidia-driver-450

##获取 cuda 10.1 的运行文件

  1. 获得http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run

安装依赖项

  1. sudo apt-get 安装 freeglut3 freeglut3-dev libxi-dev libxmu-dev

##按照安装步骤运行以下命令

  1. sudo sh cuda_10.1.243_418.87.00_linux.run

#安装程序对预先存在的驱动程序发出警告,继续#在菜单中选择除驱动程序之外的所有内容,将安装 cuda,使用 ls /usr/local

文件夹 cuda-10.1

  1. 为 cuda 配置文件创建 bash 文件

#您可以使用任何文本编辑器,

vim /etc/profile.d/cuda.sh

##将以下几行添加到此文件以添加路径

导出 PATH=$PATH:/usr/local/cuda-10.1/bin 导出 CUDADIR=/usr/local/cuda-10.1

##为 LD_LIBRARY_PATH 创建另一个文件

vim /etc/ld.so.conf.d/cuda.conf

#添加此行

/usr/local/cuda-10.1/lib64

#跑步

sudo ldconfig

  1. 对于 Cudnn,请使用以下步骤进行 tar 文件安装

https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html

这是 4 个命令

tar -xzvf cudnn-10.1-linux-x64-v7.6.5.32.tgz

sudo cp cuda/include/cudnn*.h /usr/local/cuda/include

sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64

sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

  1. 如果你在使用 tf 时遇到此错误

调用 cuInit 失败:CUDA_ERROR_UNKNOWN

#使用这个 sudo apt install nvidia-modprobe

  1. 如果有人想安装 tensorRT,这些链接很有帮助

https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing-tar

为什么我会收到“/sbin/ldconfig.real: /usr/local/cuda/lib64/libcudnn.so.7 不是符号链接”?

相关内容