为深度学习所用,博主预想在Ubuntu16.04上安装 显卡驱动 + CUDA + cuDNN + Tensorflow-gpu + Keras + PyCharm,参考了众多资料,最终成功将所有软件安装完毕,且能成功运行使用。该篇博客介绍了CUDA的安装教程(默认已安装显卡驱动),亦可通过下方链接查看其他步骤的安装教程。
前期说明及版本对照
换源及安装显卡驱动
安装 CUDA(附测试)
安装 cuDNN(附测试)
安装 Tensorflow-gpu 与 Keras(附测试)
设置 PyCharm
安装教程完整版
安装CUDA之前,需要查看电脑中的某些配置,确保满足条件,能够成功安装CUDA使用,该部分的配置要求在CUDA官网中有提供相关文件,但由于不同版本的CUDA需求的配置并不相同,只有在CUDA官网选定下载的软件包后,才会提供对应版本的安装手册,其中便有提供环境配置的需求表格
CUDA不同版本的安装流程没有差别,只是在一些界面和语言表述方面有细微不同,但不影响安装使用,若对本教程中的某些步骤存有疑惑,可参考官方给出的安装手册
1、下载CUDA软件包
在CUDA官网选择需要下载的CUDA软件包,注意软件包的版本,点击软件包的名称即可进入对应下载页面,官网网址:CUDA Toolkit Archive
选择软件包的安装平台信息,注意最后的 Installer Type 请选择 runfile,据说以该方式下载,成功率较大,若某一版本的CUDA没有你需要的安装平台可供选择,可以换一版本使用
安装平台信息选择完毕后,会出现对应的下载按钮,先不将其软件包下载至本地,找到下载信息的下方,会有一段小字,其中的 Installation Guide for Linux 是CUDA官网为该版本的CUDA提供的安装手册,将其打开,查看所需的环境配置(图中提供的是9.0版本的环境配置)
在终端使用以下命令查看本地Linux系统的版本信息:
uname -m && cat /etc/*release
查看Kernel信息:
uname -r
查看GCC信息:
gcc --version
查看GLIBC信息:
ldd --version
若CUDA的环境配置符合要求,即可下载对应的软件包,若某配置不符合要求,可以换一版本的CUDA下载,或是查看官方安装手册,解决问题
下载CUDA软件包,可能出现两种形式,一种直接提供了 Download 按钮以供下载,另一种仅提供了两行命令进行下载
若是提供了 Download 按钮,可直接下载,保存到自己能够找到的位置,若是提供了两行命令,则需打开Ubuntu系统的文件管理器(下图为Ubuntu系统的文件管理器可执行图标),选择你想保存文件的位置,在该位置鼠标右键打开终端,输入整行的 wget 命令,下载软件包,而另一条安装命令先暂时忽略它
成功下载好CUDA软件包后,需要检查其序列和,保证该软件包下载正确,使用以下命令可检查其序列和,若无报错,则该软件包可用,若报错,则需重新下载该软件包(其中 xxx 是你所下的软件包的名称补充位)
md5sum cuda_xxx.run
2、安装CUDA
该步骤需要脱离图形界面,使用命令行界面安装CUDA,因此,建议将该教程转移至智能手机或平板中查看,以防步骤错误,导致安装失败
为了命令行界面的安装方便,建议将下载的CUDA软件包,即 .run 文件移动到 “Home” 所在,如下图所示的位置,或是记住该软件包根目录起始的路径,同时可将该软件包更名,以便记忆输入
若设有自动登录的用户,请先关闭自动登录,可在 系统设置–>用户账户 中关闭,而后重启电脑,在需要输入密码的登录界面中,键入 Ctrl + Alt + F1 ,进入命令行界面,不要直接输入密码登录图形界面,若登入图形界面,请重启电脑在登录界面进入命令行界面
进入命令行界面后,根据提示,输入用户名与密码,登录用户,而后根据以下步骤完成CUDA的安装:
(1)关闭图形化界面
sudo service lightdm stop
(2)执行安装命令,若将CUDA软件包移动至 “Home” 所在,则无需添加软件包路径,直接输入安装命令即可,若未移动软件包,则需添加该软件包所在路径(其中 xxx 是CUDA软件包的名称,添加路径需要在名称前添加,例如 sudo sh /home/wjh/xxx.run )
sudo sh xxx.run
(3)按照提示安装CUDA,不同版本的CUDA安装的提示可能不同,注意以下几点,基本能够成功安装:
某些版本会在安装之前显示一堆的服务条款,此时按回车可继续服务条款的阅读,请注意服务条款结束的时机,防止回车默认安装的输入
请注意安装提示要求的输入,可能提示输入 accept ,可能提示输入 yes 等,一定要看清输入的要求
某些版本的CUDA会询问安装的内容,因本教程已安装显卡驱动,若询问是否安装 Driver(驱动) 或是 openGL ,一定一定一定要选择 no ,某些版本在安装之前提供了安装选项,而不是一步步地询问安装内容,在选择的时候一定不要选择安装 Driver(驱动) 或是 openGL
CUDA的安装过程会询问某一内容安装的位置,可根据提示,回车默认安装位置,或是自行输入安装的位置
若CUDA安装成功,在最后会提示 successed 或 installed ,若安装失败,则会提示 failed ,通常在每一安装内容之后,都会有对应的提示,若其中有某一内容提示安装失败,此CUDA都无法使用,此时可根据安装最后显示的卸载命令,在命令行界面中将CUDA卸载重装
(4)安装成功后,重新启动图形化界面
sudo service lightdm start
(5)若输入以上命令没有跳转图形化界面,则键入 Ctrl + Alt + F7 手动返回图形化界面,而后输入用户密码,登录用户,若成功进入桌面,则CUDA安装成功,若循环停留在用户登录界面,请重新进入命令行界面,将安装的CUDA卸载重装
3、设置环境变量
(1).bashrc 文件设置
在终端输入以下命令,打开 .bashrc 文件
sudo vim ~/.bashrc
在 .bashrc 文件末尾添加以下内容,若是安装CUDA时安装位置都设为默认,则路径不变,否则需要根据自己的情况修改路径
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
以上的export内容是博主查看他人博客添加的,事实上添加以上的内容还存有一定的错误,博主最终的 .bashrc 文件内容如下:
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64
export LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
配置生效
source ~/.bashrc
(2)/etc/profile 文件设置
在终端输入以下命令,打开 /etc/profile 文件
sudo gedit /etc/profile
在 /etc/profile 文件末尾添加以下内容,若是安装CUDA时安装位置都设为默认,则路径不变,否则需要根据自己的情况修改路径,其中 cuda-9.0 需要根据自己的文件名进行修改
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64$LD_LIBRARY_PATH
输入完毕,保存文件,关闭文件后重启电脑
4、测试CUDA
查看CUDA
nvcc --version
CUDA安装完毕后,自带有用于测试的例子,默认存放于 “Home”
进入该Samples文件,鼠标右键打开终端,向终端输入以下命令,编译测试代码
make
若编译成功,会提示 Finished building CUDA samples
编译完成后,在终端输入以下命令,进入Samples中的 bin/x86_64/linux/release 文件夹
cd bin/x86_64/linux/release
而后执行编译好的可执行文件
./deviceQuery
若最终结果为 PASS ,则说明测试成功
同样,继续向终端输入以下命令
./bandwidthTest
若最后结果为 PASS ,则说明测试成功