Linux(Centos)服务器离线环境下搭建本地pytorch1.6及cuda10.1深度学习环境
前言
学习深度学习框架TensorFlow或者pytorch,第一头疼的是环境搭建。如果是在本地搭建其实不难,前提是你拥有一定算力的NVIDIA显卡。Emmm,最好是有自己的设备,但现在显卡死贵,不过有服务器用也还不错。我想用的服务器因为不能联网,所以只能选择离线安装。网上很多教程是root权限下的安装,服务器我是非root权限,且服务器上已安装好了显卡驱动。非root用户无法直接查看显卡信息,使用python代码提交到后台可以查看。
可以查看到:驱动版本为418.39,可以安装的CUDA的版本为10.1
一、Anaconda安装
因为我在GitHub上学习的开源代码环境配置是要python3.6或者3.7的,所以我先查看python3.6或者3.7对应有哪些anaconda版本,最后选择了Anaconda3-2020.11-Linux-x86_64,对应Python版本为3.8。因为anaconda官网服务器在国外,下载速度慢的离谱,跟某度网盘一样,如果能科学上网,那就继续选择官网下载。我这里选择清华源下载anaconda:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/。下载anaconda的.sh安装包,然后上传我的服务器家目录下。
(1)Xshell终端:
bash Anaconda3-2020.11-Linux-x86_64.sh
然后一直enter浏览完使用协议之后,输入yes同意协议,再之后询问是否加入配置文件,输入yes。之后会出现是否安装VScode,我选择了no。
然后等待它安装各种包,安装时间好像可能有点久,耐心等待。
看到了thank you字眼说明anaconda安装好了。
(2)配置环境变量
如果刚刚在询问要不要添加环境变量到/data/users/…的时候,输入的no,进行如下操作手动添加环境变量
Xshell终端输入:
vim ~/.bashrc
再输入i进入编辑状态,在文件末尾添加:
PATH=/data/users/…/anaconda3/bin:$PATH
完毕之后,按ESC,输入:wq,完成保存退出vim。
更新配置文件输入:source ~/.bashrc
最后可以输入python查看anaconda是否安装成功。
(3)conda离线新建自己的虚拟环境:pytorch-gpu-1.6
终端输入:
conda create -n pytorch-gpu-1.6 --offline
二、Pytorch安装
(1)确定服务器显卡驱动为418.39
CUDA下载链接https://developer.nvidia.com/cuda-toolkit-archive,最好是能科学上网一下,不然下载很慢。选择对应的CUDA,我这里选择下载cuda_10.0.130_410.48_linux.run
根据cuda发行时间,选择对应版本的cuDNN,然后下载cudnn-10.0-linux-x64-v7.4.1.5.tgz。下载链接:https://developer.nvidia.com/rdp/cudnn-archive,有点讨厌的是需要注册账号才能下载,所以,为了论文冲去注册吧。
(2)上传下载的CUDA和cuDNN安装包到服务器
CUDA安装:
安装CUDA在Xshell终端输入:
chmod +x cuda_10.0.130_410.48_linux.run
./cuda_10.0.130_410.48_linux.run
然后一直回车,最后按下图设置完毕就行。
看到summary字眼。然后添加PATH:打开/.bashrc文件:vim ~/.bashrc。并在文件最后加入:
# added by cuda 10.0 installer
export PATH="$HOME /data/users/…/cuda-10.0/bin:$PATH"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$HOME /data/users/…/cuda-10.0/lib64/"
最后退出配置文件再输入:source ~/.bashrc
查看CUDA安装是否成功:nvcc -V
cuDNN安装:
终端输入:
tar -xzvf cudnn-10.0-linux-x64-v7.4.1.5.tgz
这里要注意,cudnn这个命令不是安装,而是解压,解压完了以后要拷贝到相应的cuda目录中去,这个参考其他博客有细讲。
cp /data/users/…/cuda/include/cudnn.h /data/users/…/cuda-10.0/include/
cp /data/users/…/cuda/lib64/libcudnn* /data/users/…/cuda-10.0/lib64
chmod a+r /data/users/…/cuda/include/cudnn.h /data/users/…/cuda-10.0/lib64/libcudnn*
查看cudnn是否安装成功:
cat /data/users/…/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
最后下载在清华源上下载pytorch、torchvision、cudatoolkit安装包:
安装pytorch的命令:
conda install --offline pytorch-1.6.0-py3.8_cuda10.1.243_cudnn7.6.3_0.tar.bz2
安装torchvision的命令:
conda install --offline torchvision-0.7.0-py38_cu101.tar.bz2
安装cudatoolkit的命令:
conda install --offline cudatoolkit-10.1.243-h6bb024c_0.tar.bz2
三、验证
终端输入:
python
import torch
print(torch.__version__)
print(torch.version.cuda)