我们选择和之前cuda版本对应的cudnn版本:
下载之后是一个压缩包,对它进行解压,命令如下:
tar -xzvf cudnn-11.0-linux-x64-v8.0.5.39.tgz
使用以下两条命令复制这些文件到CUDA目录下:
sudo cp cuda/lib64/* /usr/local/cuda-11.0/lib64/
sudo cp cuda/include/* /usr/local/cuda-11.0/include/
拷贝完成之后,可以使用以下命令查看CUDNN的版本信息:
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
可以看到版本信息如下,为8.0.5:
3.4 安装Conda环境不同的训练框架和版本可能会需要不同的python版本相对应,而且有的包比如numpy也对版本有要求,所以比较优雅的方法是给每个配置建立一个虚拟的python环境,在需要的时候可以随时切换,而不需要的时候也能删除不浪费磁盘资源,那在这方面conda是做得最好的。
下面介绍怎么安装conda:
1. 在Anaconda官网下载Linux安装包:Anaconda | Individual Edition
https://www.anaconda.com/products/individual
2. 运行下面的命令安装:
chmod x Anaconda3-2020.11-Linux-x86_64.sh
./Anaconda3-2020.11-Linux-x86_64.sh
一路按ENTER确认,然后根据提示输入yes,这里我为了目录整洁不安装在默认路径,设置为下面的路径:/home/pengzhihui/Softwares/anaconda
然后会询问你是否要初始化conda,输入yes确认,重开终端窗口之后,就可以看到conda环境可用了(base代表默认环境):
conda的使用方法网上搜一下有很多,这里就不赘述了。
3.5 安装Nvidia-DockerDocker也是虚拟化环境的神器,前面说的conda虽然可以提供python的虚拟环境并方便地切换,但是有的时候我们的开发环境并不只是用到python,比如有的native库需要对应gcc版本的编译环境,或者进行交叉编译时哟啊安装很多工具链等等。如果这些操作都在服务器本地上进行,那时间久了就会让服务器的文件系统非常杂乱,而且还会遇到各种软件版本冲突问题。
Docker就可以很好地解决这些问题,它其实可以理解为就是一个非常轻量化的虚拟机,我们可以在宿主服务器上新建很多个这种被称为容器的虚拟机,然后在里面配置我们的开发环境,且这些配置好的环境是可以打包成镜像的,方便随时做分享和重用;不需要的时候,我们直接删除容器就好了,其资源是和我们的服务器宿主机完全隔离的。
Docker的具体使用可以自己搜索一下很多教程,这里主要介绍如何把GPU暴露给Docker的容器(因为大家都知道像是VMware这种虚拟机里面都是无法共享宿主机的GPU的),是通过nvidia-docker实现的。
以前为了配置nvidia-docker,需要安装完docker之后再安装单独的nvidia docker2,而现在只需要安装nvidia container toolkit即可,更加方便了。
1. docker安装 官网上有详细的介绍:Install Docker Engine on Ubuntudocs.docker.com(https://docs.docker.com/engine/install/ubuntu/) 或者运行下面的命令安装:
sudo apt-get update
sudo apt-get install docker.io
systemctl start docker
systemctl enable docker
可以运行这条命令检查是否安装成功:
docker version
2. 安装NVIDIA Container Toolkit