写在前头
我们在进行深度学习环境配置的时候,会遇到各种各样的问题。有各种各样的驱动、包需要安装。不同驱动和包之间的还存在版本适配问题,刚入手的同学会一脸懵逼。配置环境成了入门的第一道门槛。我现在总结了NVIDIA 显卡 + Anaconda资源库 + PyTorch深度学习框架的环境配置指南,希望能够帮助大家. -- 我的主页
显卡驱动安装
首先需要安装显卡驱动,显卡驱动不需要每个人安装,只需要拥有root的权限的管理者为整台服务器安装即可,选择一款与服务器显卡适配的驱动,安装指南参考NVIDIA显卡驱动。值得注意的是,每个版本的显卡驱动都有对应的CUDA Driver Version(后续会提到)。显卡型号和CUDA Driver Version型号可以通过nvidia-smi查看。
CUDA Toolkit Installer
接着需要安装CUDA和CuDNN套件,此套件也不需要所有用户都安装,建议root权限管理者在服务器地址 /usr/local/ 下,通过官网提供的CUDA Toolkit Installer安装多个版本的CUDA,如下图,我在对应地址下安装了两个版本的CUDA。
安装指南参考CUDA and cuDNN 配置.
其他用户只需要根据自己的需求,在使用前修改自己的环境变量,即修改 ~/.bashrc文件中的CUDA环境变量,即可灵活切换不同版本的CUDA。
export PATH=/usr/local/{cuda root}/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/{cuda root}/lib64$LD_LIBRARY_PATH
普通用户修改并激活环境变量后,可以查看该版本CUDA对应的 CUDA Runtime Version。
nvcc编译器路径为/usr/local/{cuda-version}/bin
-
注意:
CUDA有Driver Api 和 Runtime api,分别对应显卡驱动的CUDA Driver Version 和 CUDA Toolkit Installer 的 CUDA Runtime Version。CUDA Driver Version 和 CUDA Runtime Version的版本不必非要一致,driver api的版本能向下兼容runtime api的版本,因此要CUDA Runtime Version<=CUDA Driver Version。
Ananconda安装与配置
不同的代码往往需要不同的环境,如果将所有安装包安装在统一环境里,很容易造成版本间的冲突。我们可以通过Anaconda创建多个虚拟环境进行管理。安装配置指南Anaconda 配置
-
注意
Anaconda的环境管理不包含CUDA的管理,不同CUDA版本之间的切换见上文。
Pytorch版本安装
pytorch安装首先需要确定需要的版本,如PyTorch1.5.0、PyTorch1.6.1、PyTorch1.7.1等等。同一个版本的PyTorch还有对应不同python和CUDA的子版本,如下图:
-
这里的python版本与虚拟环境对应的python版本相同,
-
这里的CUDA版本和cuDNN版本,与此时环境变量对应的CUDA Runtime Version.(cuDNN的版本是绑定CUDA的)
-
在PyTorch官网上使用命令行下载的时候,会发现也需要指定cudatoolkit的版本,此时的cudatoolkit的版本应与环境变量对应的CUDA Runtime Version相同。
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
-
pytorch的安装指南参考Anaconda环境下的pytorch配置