3.16Ubuntu再次安装了CUDA

摘要

本文主要记录CUDA再次部署时遇到的问题

  • 安装nvidia显卡驱动
  • 安装的CUDA10.01 + cudnn 7.1版本

CUDNNhttps://developer.nvidia.com/rdp/cudnn-download下载V7.1,前往https://developer.nvidia.com/cuda-10.1-download-archive-update2?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=deblocal下载CUDA10.1。

登录账号:porterpan@163.com,Smriti***

  • [x] Edit By Porter, 积水成渊,蛟龙生焉。

安装过程

安装显卡驱动

可以直接通过系统软件与更新哪里选择附加驱动,安装显卡驱动。

安装CUDA

  • CUDA安装可以按照官方的教程安装,选择deb[local]安装即可,有更新包,可以后面在安装更新包。

安装CUDNN

  • CUDNN选择cudnn-10.1-linux-x64-v7.6.5.32.tgz并解压。

  • 安装cudnn库

1
2
3
4
5
6
tar -xvf cudnn-10.1-linux-x64-v7.6.5.32..tgz
cd cuda
sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp lib64/* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
  • 复制安装库
1
2
3
cd /usr/local/cuda/lib64/
ls libcudnn.so*
libcudnn.so libcudnn.so.7 libcudnn.so.7.6.5# 这里是ls显示的结果

接下来为动态链接库创建软连接,并更新动态库

1
2
3
4
sudo rm -rf libcudnn.so libcudnn.so.7
sudo ln -s libcudnn.so.7.6.5 libcudnn.so.7
sudo ln -s libcudnn.so.7 libcudnn.so
sudo ldconfig

安装后的测试

测试cudnn

执行命令

1
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

将会的到如下的输出结果,说明cundnn安装正确

1
2
3
4
5
6
7
CUDNN_MAJOR -A 2
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 5cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#include "driver_types.h"

测试显卡驱动

1
nvidia-smi

测试tensorflow是否可以使用GPU

1
2
3
4
5
6
pip install tensorflow-gpu==1.14.0
python
import tensorflow as tf

gpu_device_name = tf.test.gpu_device_name()
print(gpu_device_name)

输出true或者false,如果显示false,并有如下的提示

1
2
3
4
5
2019-11-19 02:52:53.934654: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcudart.so.10.0'; dlerror: libcudart.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64:
2019-11-19 02:52:53.934856: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcublas.so.10.0'; dlerror: libcublas.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64:
2019-11-19 02:52:53.935050: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcufft.so.10.0'; dlerror: libcufft.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64:

Out[3]: False

原因:当前版本TensorFlow现在支持CUDA10.0,还不支持CUDA10.1,而我的Ubuntu上安装的是CUDA10.1(也正确安装了cuDNN)。现在只需要安装一个CUDA10.1就行。可以仿照安装pytorch时就自动安装cudatoolkit 10.1.243,无需再下载CUDA10.0的包,在Ubuntu上重新安装CUDA10.0,而是直接用conda安装cudatoolkit。因为我的TensorFlow是安装到独立的虚拟环境中的,故执行以下代码即可安装:

可以安装一个miniconda,然后安装好你的tensorflow,接着创建一个虚拟的环境.

1
2
3
4
5
6
7
conda 
conda create -n env_name numpy matplotlib python=3.7.7 # env_name设置你的名字如tensorflow2
(tensorflow2) usr@ubuntu16:~$ conda install cudatoolkit=10.0
pip install tensorflow-gpu==1.14.0
python#之后重复上面步骤的测试
import tensorflow as tf
tf.test.is_gpu_available()
文章目录
  1. 1. 摘要
    1. 1.1. 安装过程
      1. 1.1.1. 安装显卡驱动
      2. 1.1.2. 安装CUDA
      3. 1.1.3. 安装CUDNN
    2. 1.2. 安装后的测试
      1. 1.2.1. 测试cudnn
      2. 1.2.2. 测试显卡驱动
      3. 1.2.3. 测试tensorflow是否可以使用GPU
|