实验室服务器(非root用户)深度学习环境配置 Miniconda3 + Cuda + Cudnn + pytorch-gpu

1. 连接服务器(需要知道服务器ip地址)

我们在跑深度学习代码时一般都要用gpu加速训练,我们自己的电脑上没有gpu,所以需要连接实验室的服务器(服务器是linux系统),然后将代码传到服务器上运行,下面的方法都要保证本地电脑与服务器在一个局域网内。

如果本地是Linux

如果你的电脑是Linux系统,那么恭喜你,直接用在终端输入

ssh 服务器ip地址

就可以连上服务器

如果本地是Windows

如果你使用的是windows,就需要下载相应的软件,一种是MobaXterm,一种是Xshell6(Xttp是传输文件时要用的),选择任意一个下载就好
在这里插入图片描述
在这里插入图片描述
在这里我选用的是上面的MobaXterm,打开该软件后新建会话(Session),用ssh连接,输入服务器Ip地址,和你的用户名,最后点击确定
在这里插入图片描述
进入后就要输入一下自己服务器用户的密码,然后就可以进入到自己的home/用户名/下,要注意自己没有root权限安装一些文件,所以一般安装文件比较复杂。
如果自己的电脑和服务器不在同一个局域网内,我们需要远程控制,可以使用teamviewer或者向日葵。

2. 安装Miniconda3或者Anaconda3

下载安装包

首先安装Miniconda3,我之前使用的是Ananconda3,其实Miniconda3与Anaconda3的命令相同,是一个更轻量级的Aanaconda,安装速度也更快。
在自己的本地电脑上下载服务器所要的Miniconda安装包,然后上传到服务器上进行安装。在官网或者清华源上下载对应服务器版本的Miniconda3,我选择的是linux版本x64_64。
下载完成是一个.sh文件,然后上传到自己的服务器目录下,可以在MobaXterm中点击上传小图标即可上传文件
在这里插入图片描述

进行安装

在服务器上进入上传的Miniconda目录下,用bash运行.sh文件

bash Minconda3-latest-Linux-x86_64.sh    # 安装miniconda

最后init选择yes,即可将miniconda添加到环境变量中,环境变量在.bashrc中,是一个隐藏文件,一般在/home/用户名/ 目录下

ls -a    # 查看当前目录所有文件

打开.bashrc(可以使用vi),在.bashrc最下方我们可以看到conda initialize的语句块就代表成功添加环境变量
在这里插入图片描述
如果要对.bashrc进行修改,记着修改完之后运行下面的命令来激活环境变量。

source .bashrc # 激活环境变量

安装完之后目录下也多出了miniconda3的文件夹,

3. 配置虚拟环境

用conda创建虚拟环境是conda很好的用法,因为每一个深度学习项目用的不同的框架,如pytorch,tensorFlow,caffe等,并且有些包的版本也有着严格要求。
我们需要为每一个项目建立一个独立的虚拟环境,在各自的虚拟环境里安装其需要的包,这样可以保证各个代码运行的环境不产生冲突。虚拟环境的名字就是最终端前面()里面显示的。
我们现在可以看到终端最前面有(base)的符号,代表现在在conda最基本的环境中,我们可以输入

conda list  # 查看当前环境安装的包

创建一个虚拟环境

创建一个名为py37_torch的虚拟环境,代表我运行的项目需要用Python3.7,pytorch框架,名字可以自行定义;最后是Python的版本,可以自己选择。

conda create -n py37_torch python=3.7   # 创建虚拟环境

我们可以创建多个不同的虚拟环境

查看环境列表

列出所有环境

conda env list  # 查看环境列表

激活虚拟环境

每次跑程序时,先要激活相应的虚拟环境,激活后最前面小括号中就会显示当前所在的虚拟环境的名字

conda activate py37_torch   # 激活虚拟环境py37_torch

退出虚拟环境

直接使用以下命令可以退出当前虚拟环境

conda deactivate   # 退出虚拟环境

删除虚拟环境

conda env remove -n py37_torch # 删除名为py37_torch的虚拟环境

其他一些命令(需要时可以查看)

conda --version
或者conda -V
# 获取版本号
# 检查更新当前conda
conda update conda

#查看–安装–更新–删除包

conda search package_name# 查询包
conda install package_name
conda install package_name=1.5.0
conda update package_name
conda remove package_name

4. 安装第三方库

自己的程序通常包含了许多包,我们需要将他们全部装好程序才能正确运行,首先查看现有的包

conda list

conda安装

安装第三方包时可以采用conda 安装:

conda install package_name

pip安装

我们可以在pypi网站输入自己的包的名字查看对应的命令

pip install package_name

也可以在该网站上下载离线安装包,使用pip安装

用conda pip安装很慢

在用conda或者pip进行安装时发现速度十分地慢,我们可以添加清华镜像源,使用以下命令,添加channel

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge

conda config --set show_channel_urls yes
conda config --get channels

添加的channel可以在/home/用户名/ 下的.condarc进行查看

5. 安装cuda和cudnn

安装cuda

安装cuda时踩了许多坑,说多了都是泪呀
每个人需要安装的cuda版本可能都不同,要看自己的服务器gpu版本决定。
看了一些教程,说要首先安装驱动什么的,然而我不是root用户,装驱动一般不可能,所以直接装cuda
首先用命令

nvidia-smi

可以看到我们的nivdia驱动版本和cuda版本
在这里插入图片描述
但是我试了cuda10.1安装失败,安装cuda10.0是成功的。
首先进入Nvidia网站下载安装包,这个页面比较难找,尽量收藏一下,之后可能还要安装其他版本的cuda
我们直接下载相应的cuda安装包进行安装

cat /etc/lsb-release   # 查看发行版本
arch # 查看系统架构

在这里插入图片描述

创建安装文件夹

我们再安装cuda之前在/home/用户名/
下创建文件夹cuda-10.0,一会儿将cuda10.0安装在此目录下,不要安装在默认路径下,因为没有权限。之后如果要安装其他版本的cuda,可以创建多个‘’cuda-版本‘’ 文件夹

mkdir cuda-10.0  # 安装之前创建安装文件夹

安装cuda

sh cuda_10.0.130_410.48_linux.run

安装时首先一直按空格运行到100%然后选择

-----------------
Do you accept the previously read EULA?
accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 430.40?
(y)es/(n)o/(q)uit: n  #不需要安装驱动

Install the CUDA 10.0 Toolkit?
(y)es/(n)o/(q)uit: y 

Enter Toolkit Location
 [ default is /usr/local/cuda-10.0 ]: /home/wanggexuan/cuda-10.0 
 #不要安装在user目录下,没有权限;安装在刚刚创建的cuda-10.0目录下

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: n

Install the CUDA 10.0 Samples?
(y)es/(n)o/(q)uit: n

Installing the CUDA Toolkit in /home/wanggexuan/cuda-10.0 ...

安装cudnn(其实是拷贝文件)

进入cudnn网页下载对应cuda版本的cudnn,首次下载需要注册一下,用邮箱注册一下就好了
直接选择linux版本
在这里插入图片描述
下载好后文件名是cudnn-10.0-linux-x64-v7.6.4.38.tgz,

  1. 解压
tar -zxvf cudnn-10.0-linux-x64-v7.6.4.38.tgz
  1. 拷贝解压后cuda文件夹中一些文件到cuda-10.0的文件夹中去
cp cuda/include/cudnn.h /home/wanggexuan/cuda-10.0/include/
cp cuda/lib64/libcudnn* /home/wanggexuan/cuda-10.0/lib64
chmod a+r cuda/include/cudnn.h cuda/lib64/libcudnn*

最后配置cuda环境变量

将cuda加入到环境变量中去,在.bashrc最后添加上

export PATH="$PATH:/home/wgx/cuda-10.0/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/wgx/cuda-10.0/lib64/"
export LIBRARY_PATH="$LIBRARY_PATH:/home/wgx/cuda-10.0/lib64"

最后更新系统环境变量

source .bashrc
查看当前cuda版本,可以看到是10.0
nvcc -V  # 或者 nvcc --version

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130

如果我们想要换他版本的cuda,只需要将上述环境变量.bashrc目录换掉,然后在source一下就好了

6. 安装pytorch-gpu

安装pytorch也有许多坑
由于pytorch官网中最新的版本没有支持cuda10.0的,所以我在pytorch之前版本的页面上安装之前的pytorch版本
**注意,有坑!**我要安装的是pytorch1.0.0,linux,cuda100的版本,按照下面给出的用conda命令装根本装不上,超级慢,最终显示http error
在这里插入图片描述
查了许多资料,说去掉-c pytorch,添加清华镜像源下载,但是还是安装不上,显示在这几个channel中找不到包
最终我在清华镜像网站上才看到
在这里插入图片描述
好吧,那么现在还是老老实实下载torch离线包,使用离线安装,在刚刚pytorch网页上最下方可以进入对应cuda的下载页面,下载对应版本的torch whl文件在这里插入图片描述
我选择的是torch1.0.0,python37,linux版本
在这里插入图片描述
下载好后,直接用pip进行安装

pip install torch-1.0.0-cp37-cp37m-linux_x86_64.whl

查看是否安装成功,进入python
> import torch  不报错
> torch.cuda.is_available()
显示True

安装torchvision

我装的版本是0.2,较高版本安装不上,torchvision的安装是在pypi网站上用pip进行安装的,很方便

安装好后可以用conda list,查看是否安装成功

conda list
  • 23
    点赞
  • 147
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值