在Ubuntu上安装TensorFlow GPU版本,首先需要:
- 一张NVIDIA GPU显卡和Ubuntu系统;
- NVIDIA 显卡驱动,最新为
495.29.05
(2021年10月22日); - CUDA toolkit;
- cudNN SDK;
- CUPTI;
- TensorFlow作为深度学习的框架。
以NVIDIA 2080ti为例,安装步骤如下:
安装 NVIDIA 显卡驱动
在官网:https://www.nvidia.com/download/index.aspx?lang=en-us 下载最新的显卡驱动。
完成后运行nvidia-smi
,查看显卡信息:
正常显示则表示驱动安装成功。
Ubuntu初次插入GPU显卡后会自动安装驱动,也能正常使用显卡,但是版本可能较低,和TensorFlow的GPU需求不匹配。也可以通过Ubuntu自带的驱动更新来安装显卡最新的驱动。
CUDA toolkit
去谷歌网站查看版本匹配,确定TensorFlow、cuda toolkit、和cuDNN的版本对应正确。
以TensorFlow2.5为例,需要的cuDNN8.1和CUDA 11.2。
注意这个CUDA 11.2不是驱动的版本,可以和上面的显卡驱动显示的
11.5
不一致。
下载:
1 | wget https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda_11.2.2_460.32.03_linux.run |
坑-1
cuda toolkit包中含有了显卡驱动,因为之前已安装,这里不要再安装,否则显卡驱动冲突。
此处可参考:https://zhuanlan.zhihu.com/p/122286055
去掉driver前面的X,执行install,等一会安装成功。
添加到路径
1 | sudo gedit ~/.bashrc |
测试
1 | nvcc -V |
cuDNN
从官网(https://developer.nvidia.com/rdp/cudnn-download) 下载cuDNN。先注册,然后找到对应的8.1版本,并下载deb版本。
可参考:https://zhuanlan.zhihu.com/p/126997172
下载内容为:
1 | libcudnn8_8.1.1.33-1+cuda11.2_amd64.deb |
依次安装:
1 | sudo dpkg -i llibcudnn8_8.1.1.33-1+cuda11.2_amd64.deb |
对于新版的cuda,如11.6,cudnn只提供了一个文件。可以使用如下方法安装:
1 | # Procedure |
参考:https://blog.csdn.net/P081513083/article/details/126324723
测试cuDNN
1 | cp -r /usr/src/cudnn_samples_v8/ $HOME |
遇到错误:
1 | test.c:1:10: fatal error: FreeImage.h: No such file or directory |
解决方法:
1 | sudo apt-get install libfreeimage3 libfreeimage-dev |
进行测试:
1 | sudo ./mnistCUDNN |
显示Test passed!
。
CUPTI
该程序没有约定版本,直接通过apt
安装。
1 | sudo apt-get install libcupti-dev |
并编辑~/.bashrc
添加到路径。
1 | export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64 |
Tensorflow
坑2
不要使用conda安装,使用pip安装。
使用conda反复安装TensorFlow,总是无法调用GPU,后来使用pip安装(也是官方教程的方法)发现安装包要比conda的包大一倍。
使用下面的命令测试:
1 | import tensorflow as tf |
会出现Successfully opened dynamic library libcudart.so.11.0
,表示成功。
接着使用
1 | tf.config.list_physical_devices('GPU') |
至此,安装成功。
参考
https://medium.com/analytics-vidhya/configure-tensorflow-gpu-with-ubuntu-18-04-2021-update-aee264e887ae
https://www.bilibili.com/read/cv9164113
https://towardsdatascience.com/installing-tensorflow-gpu-in-ubuntu-20-04-4ee3ca4cb75d
https://zhuanlan.zhihu.com/p/122286055
https://zhuanlan.zhihu.com/p/126997172
https://www.tensorflow.org/install/source#gpu