训练U2nent的时候需要使用GPU,由于我重新安装了Ubuntu20,需要配置深度学习三件套( NVIDIA 驱动/CUDA/cuDNN)
这里把比较详细的过程记录下来。
上图中我通过
watch -n 0.5 -d nvidia-smi #每隔0.5秒刷新一次
和 top 实时查看回显,避免显存爆掉。
一、安装NVIDIA驱动
这里,直接使用UBUNTU自带的安装工具安装时没有问题的, 注意版本选一个比较新(不是最新)的就可以。
先测一下速度 ,选择ailiyun来
二、安装CUDA
CUDA是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥CUDA的作用。这里将
现在到本地,直接chmod +x,然后运行就可以了。这里CUDA的驱动版本要小于等于前面的驱动版本。
如果按照上述流程安装了最新的NVIDIA Driver,runfile安装过程中会提醒是否继续(Existing package manager installation of the driver found. It is strongly recommended that you remove this before continuing.),选择继续continue
,在后续选择安装内容时去除驱动选择。这一点一定要注意。
运行成功后看见输出Summary,根据提示需要进行环境变量的设置
,在.bashrc(ZSH使用者对应.zshrc)末尾追加如下文字。
最后测试以下CUDA是否成功安装,运行nvcc -V
:
或者也可以运行位于/usr/local/cuda-11.1/samples/
中的测试用例,具体不说了,按照我前面的流程一步步走下来没毛病。
三、安装cuDNN
cuDNN(CUDA Deep Neural Network library):是NVIDIA打造的针对深度神经网络的加速库,是一个用于深层神经网络的GPU加速库。如果你要用GPU训练模型,cuDNN不是必须的,但是一般会采用这个加速库。
在cuDNN Archive 页面挑选适合我们CUDA版本的cuDNN,我们选择
注意
直接下载.tar.gz(不是deb),然后通过复制就可以实现相关操作。
cuDNN的下载需要注册,相信对于大家来说并不是什么问题(迅雷会员可以解决)。下载并解压之后运行如下命令将cuDNN压缩包中的文件拷贝到CUDA 10.1的文件夹中:这里需要注意,
===============================================================================================================================================================
四、通过软链接同时维护和使用多个版本的CUDA库
在安装完成CUDA和对应cuDNN的库之后,我们可以看到/usr/local/cuda
指向了当前的CUDA文件夹:
观察得知/usr/local/cuda
是一个链接文件,在上述安装过程中被安装程式自动指向了当前安装版本的CUDA所在文件夹,于是我们可以通过更新链接指向,维护多个CUDA版本并动态的调用。
再次观察/usr/local/cuda
指向了新的CUDA文件夹,由于我们上面过程中添加在.bashrc or .zshrc 中的路径是/usr/local/cuda/***
,于是这一条命令就可以改变当前调用的CUDA及cuDNN版本了。
不过CUDA的文件夹不算小,同时维护CUDA10.0-TF1.15/CUDA10.1-TF2.X/CUDA10.2-PyTorch使得SSD上的空间岌岌可危,所以说,Linux的正确分区挂载习惯hh
五、TensorFlow及Pyorch安装 (顺手)
虚拟环境不说了,virtualenv
还是conda
自选。(我是用miniconda,用什么装什么。)
TensorFlow
TensorFlow目前最高支持Python 3.7 && CUDA 10.1。
旧版 TensorFlow(1.x),CPU 和 GPU 软件包是分开的:
对于TensorFlow 2.x CPU 和 GPU 软件包是统一的:
PyTorch
PyTorch最高支持CUDA 10.2,同时支持10.1和9.2版本。我们安装CUDA 10.1版本对应的PyTorch。
这里比较合理的方法是通过迅雷先把whl下载下来,然后本地安装。
Reference
- https://www.tensorflow.org/install/gpu
- https://developer.nvidia.com/cuda-10.1-download-archive-update2?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal
- https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
- https://cyfeng.science/2020/05/02/ubuntu-install-nvidia-driver-cuda-cudnn-suits