(1)安装nvidia显卡驱动
注意Ubuntu20.04和Ubuntu16.04版本的安装方法不同,
安装驱动前一定要更新软件列表和安装必要软件、依赖(必须)
sudo apt-get update #更新软件列表
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install make
查看GPU型号
lspci | grep -i nvidia
官网下载对应驱动(必须)
https://www.nvidia.cn/Download/index.aspx?lang=cn
卸载原有驱动
sudo apt-get remove --purge nvidia*
禁用nouveau(nouveau是通用的驱动程序)(必须)
sudo chmod 666 /etc/modprobe.d/blacklist.conf
sudo gedit /etc/modprobe.d/blacklist.conf
在最后一行下面添加以下几行语句,保存退出
Ubuntu20.04版本
blacklist nouveau
options nouveau modeset=0
Ubuntu16.04版本
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb
更新文件
sudo update-initramfs -u
重启(必须重启)
reboot
验证nouveau是否已禁用
lsmod | grep nouveau
没有信息显示,说明nouveau已被禁用,接下来可以安装nvidia的显卡驱动。
安装lightdm,lightdm是显示管理器,主要管理登录界面
sudo apt-get install lightdm
按Ctrl + Alt + F1~F6中一个进入黑漆漆的文本界面tty,我的是联想thinkpad,使用的是Ctrl + Alt +F6或者用命令sudo telinit 3
sudo service lightdm stop //关掉图形界面
sudo apt-get remove nvidia-* //卸载原有驱动
sudo chmod 755 NVIDIA-Linux-x86_64-525.85.05.run //获取权限
sudo ./NVIDIA-Linux-x86_64-525.85.05.run -no-nouveau-check -no-x-check -no-opengl-files //安装驱动/*-no-x-check 安装驱动时关闭X服务,
-no-nouveau 安装驱动时禁用nouveau
-no-opengl-files 只安装驱动,不安装opengl文件。
根据其他答主经验,最后一个参数一定要加,否则安装完驱动会出现桌面闪退、循环登录等问题。
*/
执行这一步会收到很多提示(注意:白色为选中,不是红色):
问题1:The distribution-provided pre-install script failed! Are you sure you want to continue?
Continue installation Abort installation (选择Coninue)
问题2:Would you like to register the kernel module sources with DKMS? This will allow DKMS to automatically build a newmodule, if you install a different kernel later.
Yes No (选 No)
问题3:Install NVIDIA’s 32-bit compatibility libraries?
Yes No (选 No)
问题4: Installation of the kernel modulefor the NVIDIA Accelerated Graphics Driver for Linux-x86_64 (version470.94) is now complete.
OK
问题5: Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.
Yes No (选 Yes)
挂载Nvidia驱动:
modprobe nvidia
退出文本界面到图形界面,输入sudo telinit 5或者Ctrl + Alt + F1(我的是联想thinkpad,F1和F12都试一下)
切换到图形界面:
sudo service lightdm start
检查驱动是否安装成功:
nvidia-smi
出现以下界面,则安装成功,可以看到此显卡驱动支持的最高CUDA版本是12.0。
(2)安装cuda
cuda版本不超过nvidia驱动查询到的cuda版本
Ubuntu 20.04默认g++9版本太高,会导致CUDA无法安装,因此要先降低g++版本到7,将下列代码逐个执行
sudo apt-get install gcc-7 g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-79
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-91
sudo update-alternatives --display gcc //查看默认版本
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-79
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-91
sudo update-alternatives --display g++
到nvidia官网下载cuda,网址为:https://developer.nvidia.com/cuda-toolkit-archive
我下载的是11.2
sudoshcuda_11.2.0_460.27.04_linux.run
因为前面步骤已经安装了Driver
我们选择continue即可,然后出现下面这样的界面,enter一下把Driver取消
安装完成后的界面如下:
修改环境变量
sudo gedit ~/.bashrc
或
vim ~/.bashrc
export PATH=/usr/local/cuda-11.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
更新环境变量
source ~/.bashrc
检查是否安装成功
nvcc -V
#编译并测试设备 deviceQuery:cd /usr/local/cuda-9.2/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
编译并测试带宽 bandwidthTest:cd ../bandwidthTest
sudo make
./bandwidthTest
如果这两个测试的最后结果都是Result = PASS,说明CUDA安装成功啦。
(3)安装cudnn
下载和cuda相匹配的cudnn版本,我选用的是cudnn8.1,网址为:https://developer.nvidia.com/cudnn
解压tgz包
tar-xvzfcudnn-11.2-linux-x64-v8.1.0.77.tgz
对解压后文件夹中的文件进行拷贝
sudo cp cuda/include/cudnn* /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
修改权限
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
查看cuDNN版本
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
如果输出如下,则表示安装成功:
(4)安装Anaconda3
进入Anaconda3下载目录,运行下面命令安装
bashAnaconda3-2022.10-Linux-x86_64.sh
期间有ENTER的地方可以直接回车,遇到MORE信息,可以摁Q键跳过,遇到需要输入yes|no的地方输入yes即可。
考虑到其他用户的权限问题,最好不要安装在/root目录下,修改安装路径为/usr/local/anaconda3
输入 yes 来确认使用 conda init 来启动
启动已经修改的环境变量
source ~/.bashrc
命令前出现了base
查看版本
conda --version
conda 配置国内镜像源
添加清华镜像源
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
设置搜索时显示通道地址
conda config --set show_channel_urls yes
恢复默认源
conda config --remove-key channels
显示镜像源
conda config --show-sources
删除镜像源
conda config --remove channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda 创建虚拟环境
conda create -n py39 python=3.9
输入 y 并回车后,开始下载并创建
进入虚拟环境
conda activate py39
退出当前环境
conda deactivate
查看当前环境
conda env list
删除环境
conda remove -n [your_env_name(虚拟环境名称)] --all
conda remove -n py39 --all
安装ipython
conda install ipython
(5)安装tensorflow-GPU
pip install tensorflow-gpu==2.6.0 -i https://pypi.mirrors.ustc.edu.cn/simple/
在虚拟python环境下测试tensorflow-GPU是否安装成功
fromtensorflow.python.clientimportdevice_libdevice_lib.list_local_devices()