首先需要根据你的显卡型号决定CUDN(显卡驱动)、显卡运行版本、Tensorflow-GPU版本,等版本信息。
一、查GPU型号
lspci | grep -i nvidia
我用的亚马逊的p2.xlarge,它是K80的显卡
二、 安装CUDA
下面介绍CUDA的安装步骤。首先,更新并安装编译需要的包:
sudo apt-get update && sudo apt-get install -y build-essential git libgfortran3
NVIDIA一般每年会更新一次CUDA主版本。这里我们下载CUDA 9.0(也可使用MXNet支持的其他版本)。访问NVIDIA官方网站获取正确版本的CUDA 9.0的下载地址,如图11.17所示。
图 11.17 获取CUDA 9.0的下载地址
获取下载地址后,下载并安装CUDA 9.0,例如:
# 以NVIDIA官方网站上的下载链接和安装文件名为准 wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run sudo sh cuda_9.0.176_384.81_linux-run
点击Ctrl+C跳出文档浏览,并回答以下几个问题。
Do you accept the previously read EULA? accept/decline/quit: accept Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81? (y)es/(n)o/(q)uit: y Do you want to install the OpenGL libraries? (y)es/(n)o/(q)uit [ default is yes ]: y Do you want to run nvidia-xconfig? This will ... vendors. (y)es/(n)o/(q)uit [ default is no ]: n Install the CUDA 9.0 Toolkit? (y)es/(n)o/(q)uit: y Enter Toolkit Location [ default is /usr/local/cuda-9.0 ]: Do you want to install a symbolic link at /usr/local/cuda? (y)es/(n)o/(q)uit: y Install the CUDA 9.0 Samples? (y)es/(n)o/(q)uit: n
成功后出现如下界面:
三、查显卡驱动版本跟CUDA版本的关系
运行cat README
命令查看实例上已安装的CUDA各版本(假设含9.0)。这里有CUDA Toolkit版本跟CUDA版本及显卡驱动版本的对关系
去Nvidia官网找到你GPU对应的驱动包,我的版本如下,这里注意cudnn版本和CUDA版本的匹配,一般CUDA是9.0的,cudnn也要9.0才行,否则后面会出问题。
在360浏览器下载时,可以找到它的网址,用下面的指令下载并安装
# 以NVIDIA官方网站上的下载链接和安装文件名为准
wget https://cn.download.nvidia.cn/tesla/384.183/NVIDIA-Linux-x86_64-384.183.run
sudo sh NVIDIA-Linux-x86_64-384.183.run
安装过程忘了截图,自己选吧,基本一路yes,最后有个警告。(PS:找不到路径时,可以按这个提示修复吧(未证实))
当安装完成后,运行下面的命令就可以看到该实例的GPU了。
nvidia-smi
最后,将CUDA加入到库的路径中,以方便其他库找到它。如果使用其他版本或其他路径,需要修改以下命令中的字符串“/usr/local/cuda-9.0”。
echo "export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:/usr/local/cuda-9.0/lib64" >> ~/.bashr
四、根据CUDA版本确定tensorflow和python版本
根据这里可以查到相应显卡驱动版本对应的tensorflow版本
参考:
【1】《动手学深度学习》