如果本身安装有显卡驱动,可以通过以下命令先移除,再重新安装
sudo apt purge nvidia*
首先查看lsmod | grep nouveau
查看以下nouveau是否正在运行,
如果有输出(如下图),这证明nouveau正在运行中,进行接下来的操作进行关闭。
禁用nouveau,在终端输入:sudo gedit /etc/modprobe.d/blacklist.conf
自动弹出配置文件。在文件的末尾加上两行:
blacklist nouveau
options nouveau modeset=0
并在终端输入sudo update-initramfs -u
进行更改。完成后重启设备即可。
准备工作:
1.安装必要依赖
sudo apt-get update #更新软件列表
sudo apt-get install g++ gcc make
2.确认显卡型号:
lspci | grep -i nvidia
3.根据显卡型号在英伟达官网下载对应驱动
https://www.nvidia.cn/Download/index.aspx
4.安装lightdm显示管理(ubuntu 20.04与22.04均需要安装)
sudo apt-get install lightdm
如果你也遇到了 Unable to fetch some archives, maybe run apt-get update or try with --fix-missing? 这样的包,可以尝试替换成阿里源或者清华源。替换后再重试一下应该就可以解决。参考Ubuntu 20.04 更换阿里源。
安装过程中会弹窗选择显示管理器选择gdm3或者lightdm,选择一下lightdm即可。
5.关闭图形界面:
sudo service lightdm stop
6.开始安装下载好的驱动:
找到刚刚驱动文件下载所在的文件夹
cd download_path
sudo chmod a+x NVIDIA-Linux-x86_64-xx.run #赋予执行权限,xx为版本号
sudo ./NVIDIA-Linux-x86_64-xxrun -no-x-check -no-nouveau-check -no-opengl-files
按提示选择后完成安装,输入nvidia-smi
确认驱动成功安装,如果成功,则能看到类似下图输出。
确认好之后,可以重启lightdm了。
sudo service lightdm start
上面nvidia-smi
中显示的CUDA 11.7并不是安装了CUDA11.7版本的含义,而是该驱动最高支持到CUDA 11.7版本。
进入NVIDIA官方CUDA下载页面https://developer.nvidia.com/cuda-toolkit-archive
选择自己需要的版本进行下载。这里以11.2.2下载为例。
选择了runfile(local)方式。完成选择之后,会弹出下载安装指引:
wget https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda_11.2.2_460.32.03_linux.run
sudo sh cuda_11.2.2_460.32.03_linux.run
执行后,先输入accept
同意EULA。
下一个页面中,取消勾选Driver,然后选择Install
安装完成后,需配置~/.bashrc文件才能够正常使用。
sudo vim ~/.bashrc
在最底部添加
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64
保存退出之后,source ~/.bashrc
使其生效。然后命令行输入nvcc -V
确认是否成功安装。如果看下以下输出,证明安装成功了。
在NVIDIA官网上下载与CUDA匹配的CUDNN安装文件: https://developer.nvidia.com/rdp/cudnn-download
需要登陆NVIDIA账户后进行下载。
可以查看一下Installation Guide确认一下prerequisite是否满足,以及GPU价格等和版本的匹配。
以v8.4.1 for CUDA 11.x的下载和安装为例。根据系统选择了Local Installer for Ubuntu 20.04 x86_x64 (Deb)
下载deb文件,并进入下载路径,并执行以下操作:
cd download_path
sudo dpkg -i cudnn-local-repo-ubuntu2004-8.4.1.50_1.0-1_amd64.deb #激活本地文件
sudo cp /var/cudnn-local-repo-ubuntu2004-8.4.1.50/cudnn-local-E3EC4A60-keyring.gpg /usr/share/keyrings/ # 导入CUDA GPG Key
sudo apt-get update
sudo apt-get install libcudnn8=8.4.1.50-1+cuda11.6 #通过tab自动补全,安装runtime library
sudo apt-get install libcudnn8-dev=8.4.1.50-1+cuda11.6 #通过tab自动补全,安装developer library
sudo apt-get install libcudnn8-samples=8.4.1.50-1+cuda11.6 #通过tab自动补全,安装samples和文档
CUDNN的安装包中有sample code,可用于测试。
先将sample code拷贝至可写入路径,如$HOME
cp -r /usr/src/cudnn_samples_v8/ $HOME
进入到mnist文件夹中,并进行编译
cd cudnn_samples_v8/mnistCUDNN/
make clean && make
如果遇到了WARNING - FreeImage is not set up correctly. Please ensure FreeImage is set up correctly
,无法继续编译,可以执行以下命令:
sudo apt-get install libfreeimage3 libfreeimage-dev
执行后重新make clean && make
,完成后尝试运行./mnistCUDNN
,会看到很多输出,如果在最末端看到了!
则表明CUDNN安装成功。
在Anaconda官网,下载系统安装文件: https://www.anaconda.com/products/distribution#Downloads
这里选择了Linux 64-Bit (x86) Installer (659MB)安装文件。
命令行运行下载的sh文件./Anaconda3-2022.05-Linux-x86_64.sh
进入到安装程序中。
按空格或者enter键,直到出现Do you accpet the license terms? [yes|no]
,输入yes
(如有必要声明一下安装路径,没有的话按ENTER
)等待安装完成即可。
首先创建一个虚拟环境,因为我们后续打算安装PyTorch 1.8.0,因此将该环境命名为PyTorch-1.8.0,Python设定为3.9.12 (与anaconda base一致)
conda create -n PyTorch-1.8.0 python==3.9.12
由于安装的是11.2版本的CUDA,需要找到适配的PyTorch版本,查阅了https://pytorch.org/get-started/previous-versions/,有支持cuda 11.1和cuda11.3版本的,但没有找到11.2。
首先尝试了11.3的v1.10.1,v1.10.0、v1.9.1、v1.9.0以及v1.8.1均无法检测到GPU。
因此考虑无法向上兼容但应该可以向下兼容,因此尝试了支持11.1的v1.8.0:
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge
等待安装完成。
验证一下是否安装成功
python
import torch
print(torch.cuda.is_available())
如果返回True,则表示安装成功。
至此可以hands on的进行深度学习算法的研发了。