加入收藏 | 设为首页 | 会员中心 | 我要投稿 滁州站长网 (https://www.0550zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

给小白的ubuntu深度学习服务器装机教程

发布时间:2022-10-28 14:31:11 所属栏目:系统 来源:转载
导读: 这两天和实验室的小伙伴搭建了几台深度学习服务器,我们也是跟着各种教程一步一步慢慢摸索成功的, 深知小白装机时的无奈和痛苦(ノへ ̄、) 在此总结一下安装过程,如有错误,还请各位看官轻

这两天和实验室的小伙伴搭建了几台深度学习服务器,我们也是跟着各种教程一步一步慢慢摸索成功的, 深知小白装机时的无奈和痛苦(ノへ ̄、) 在此总结一下安装过程,如有错误,还请各位看官轻喷,若能给其他小伙伴们一点帮助,就是最大的荣幸。

想看多用户安装Anaconda的伙伴们请看第5节,想看显卡驱动、cuda、torch、tensorflow安装的请直接看第6、7节。

1、开启远程登录

(1)ssh远程登录

在服务器上安装好ssh就可以在校园内远程登录了,后续装机步骤就不用呆在机房操作了。这一步只要跟着教程做,一般不会太大问题:

(2)远程登录桌面

有的同学更加习惯在使用远程桌面进行操作,下面也附上远程桌面搭建的教程:

2、硬盘挂载(可选)

在装完ubuntu系统后,还需要自己挂载硬盘,我们选择将硬盘挂载到home下的data文件夹中,专门作为所有用户的数据存储盘。自动挂载的操作请参考一个五分钟的视频:VLOG 118 | 如何在Linux系统上最安全地自动挂载硬盘?_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili。有两点需要说明的是:(1)在挂载硬盘之前我们需要将没用过的硬盘格式化一下,我们选用的是Ext4格式。(2)在挂载完硬盘后,需要用chomd 777 /home/data 以便服务器上的所用户都能访问这个文件夹

3、修改主机名和用户名(可选)

新装完的系统,主机名和用户名都没有设置好,如果需要可以根据如下操作进行修改主机名和用户名(不推荐):

注:修改主机名很方便,仅仅需要改一个文件,但是改用户名的方式却复杂很多,而且根据上述方式改完之后会发现用户不再属于之前的一些groups了。总之如无必要,不建议修改用户名。

4、Ubuntu新建用户并添加到sudo组

服务器为了可以使得多个账户一起使用,还需新建多个账户,我们将所有用户都赋予了sudo权限,选择装机时创建的账户或者root账户,打开终端,输入如下命令:

sudo adduser 

创建的同时会让你输入密码和一些基本信息,基本信息可以不填。

将用户添加至sudo组:

sudo adduser username sudo

5、为多个用户安装公用Anaconda

这一部分内容参考了这里这篇文章。

5.1 安装anaconda

因为一个服务器上有多个用户,那么一个一个分别去给这些服务器安装Anaconda是非常麻烦的。所以我们想的是所有用户安装同一个Anaconda,每个用户可以根据共同的Anaconda创建自己的虚拟环境,以满足自己的需要。下载好对应版本的Anaconda安装包后,具体的操作如下:

# 安装anaconda
sudo bash ./Anaconda3-2019.10-Linux-x86_64.sh  

注意一点,在下图所示,在选择安装路径的时候不要选择当前用户的目录,而是选择公用文件夹/usr/local/anaconda3

电脑店u盘装win7系统教程_服务器装系统教程_联想电脑装xp系统教程

等待安装完成后,设置环境变量:

sudo vim /etc/profile

在打开的文件目录中按 i 进入输入模式,在文件的最后添加环境变量:

# Anaconda environment
export ANACONDA_HOME=/usr/local/anaconda3
export PATH=$ANACONDA_HOME/bin:$PATH

输入完成后,按esc退出编辑模式,接着按 :wq 保存修改结果并退出,得到的结果如下所示:

联想电脑装xp系统教程_电脑店u盘装win7系统教程_服务器装系统教程

然后刷新一波环境变量设置:

source /etc/profile

5.2设置用户组

创建新的用户组datamining, 可自定义用户组名:

sudo groupadd datamining

把Anaconda安装目录所属组设为刚才创建的组datamining:

sudo chgrp -R datamining /usr/local/anaconda3

修改Anaconda安装目录的权限:

sudo chmod 770 -R /usr/local/anaconda3

把用户添加进组

sudo usermod -a -G dataminming <用户名>

更改完成后,重新输入用户名后重启或者重新登录一下用户,才会生效。

这时会发现,任何datamining组中的用户都可以使用python和conda命令,还有一个存在的问题是在非直接安装anaconda的用户中无法使用 conda create -n 创建新的环境,还需要最后一步,用chown命令将anaconda的拥有者设置为整个组:

sudo chown .datamining -R /usr/local/anaconda3

至此,所有datamining组内用户都可以用conda创建自己的环境了,创建的新环境都放在/usr/local/anaconda3/envs 中,所创建的环境被datamining组内成员共享,但是只有环境的创建者可以修改、删除该环境,不用担心自己创建的环境被所有其他用户修改、删除,也就是说即便其他组内成员可以用source activate 激活你的环境,他也只能使用,不能用conda install安装任何文件。

6、安装显卡驱动

很多人被各种手动安装torch、tf的教程折磨的不行,不光安装麻烦不说,安装完成后还有各种cuda版本冲突。又,即便安装成功了,nvidia-smi、nvcc -V、cat /usr/local/cuda/version.txt 三个命令显示的cuda版本各不相同,头大到不行。下图是我们实验室以前的服务器,可以看到同时安装三个cuda了,当时我也不懂怎么建立软连接,折腾了很久都没能装成环境。

电脑店u盘装win7系统教程_服务器装系统教程_联想电脑装xp系统教程

nvidia-smi和nvcc -V 之间的区别可以看这篇文章。简单来说,nvidia-smi所查看的是机子上能够安装的cuda的最高版本,而nvcc -V显示的是环境中实际运行的版本。 nvcc -V显示的cuda要小于 nvidia-smi显示的cuda才行。

如果你觉得这部分内容很绕,我这里提供一个简单的方法,只提供最少最必要的步骤,屡试不爽:

6.1 下载驱动

在官网上根据机子里的GPU下载对应的显卡驱动服务器装系统教程,但是注意,CUDA Toolkit版本那里应当选择最高的版本(听说过最高版本在运行时会出现掉GPU的问题,不过我没遇上过),因为这样之后低于该版本的运行cuda 都能安装,

如下图所示,我安装的是11.0版本的:

联想电脑装xp系统教程_服务器装系统教程_电脑店u盘装win7系统教程

6.2 禁用nouveau

这是一个非常重要的环节,显卡驱动的安装和ubuntu自带的nouveau核是有冲突的,必须禁用该内核,参见该博客的操作:

(1)增加内核参数禁用

sudo vim /etc/default/grub

输入i,进入编辑模式,在文件中增加GRUB_CMDLINE_LINUX_DEFAULT="modprobe.blacklist=nouveau"

可以合并写成下图所示的写法:

服务器装系统教程_电脑店u盘装win7系统教程_联想电脑装xp系统教程

输入:wq保存并退出

(2)重新生成配置

sudo grub-install

(3)重启

reboot

重启后nouveau就被成功禁用,便可以愉快地安装显卡驱动了。

6.3安装显卡驱动

cd 到显卡驱动安装程序的所在目录
# 给驱动安装程序增加可执行权限
chmod a+x <显卡驱动安装程序>.run 
sudo <显卡驱动安装程序>.run 

上述过程中可能会出现因为没有安装gcc 和 make 工具而失败的情况,如果出现了只需:

apt install gcc
apt install make

之后再执行:

sudo <显卡驱动安装程序>.run

一直下一步即可完成安装。安装完成后,输入:

nvidia-smi

如果显示下图所示的结果,则说明显卡驱动安装成功:

电脑店u盘装win7系统教程_联想电脑装xp系统教程_服务器装系统教程

这里显示我安装的显卡驱动cuda是11.0,表明我能够安装任意低于11.0版本的cuda。

7、安装pytorch、tensorflow等深度学习环境

7.1 创建虚拟环境

为了保证环境的干净, 及其推荐给不同的框架创建不同的环境:

# 创建cuda为11.0版本的pytorch环境
conda create -n torch_cu110 
# 创建1.14版本的tensorflow环境
conda create -n tf1.14
# 创建2.2版本的tensorflw环境
conda create -n tf2.2

7.2 安装pytorch

打开pytorch官网,找打你的对应版本的pytorch安装命令,

注意,由于我安装的nvidia显卡驱动cuda是11.0,因此入下图蓝色框所示,所有低于11.0的版本cuda的pytorch都是可以选的。

联想电脑装xp系统教程_电脑店u盘装win7系统教程_服务器装系统教程

# 复制该命令就可以安装pytorch了
conda install pytorch torchvision torchaudio cudatoolkit=11.0 -c pytorch

需要说明的是,如果你的下载速度很慢,有两种解决方式,一种是找梯子,一种是为conda配置各种国内的源。

关于第二种添加国内源的方法,网上有很多教程,例如这个,不过有些我使用了之后下载速度还是很慢。所以这里推荐一种方式,编辑~/.condarc:

sudo vim ~/.condarc

按i进入编辑模式,在文件中写入:

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

得到如下图所示的结果:

联想电脑装xp系统教程_电脑店u盘装win7系统教程_服务器装系统教程

按:wq 保存并退出。

7.3安装tensorflow

# 安装tensorflow
# 切换到tf2.2的环境
source activate tf2.2
# 安装tensorflow2.2 gpu版本
conda install tesnorflow-gpu=2.2
# 切换到tf1.14的环境
source activate tf1.14
# 安装tensorflow1.14 gpu版本
conda install tensorflow-gpu=1.14

步骤就是这么个步骤,剩下的就看网速了。

安装完成后,用如下命令查看已经安装的环境:

conda env list

电脑店u盘装win7系统教程_服务器装系统教程_联想电脑装xp系统教程

我安装的环境

贴几个常用的命令:

# 创建环境
conda create -n <你的环境名> 
# 删除环境
conda remove -n <你的环境名> --all
# 切换环境
conda activate <你的环境名>
# 退出环境
conda deactivate
# 切换用户,切换后仍然在原目录
su <其他用户名>
# 切换用户,切换后在新账户默认目录中
su - <其他用户名>

为什么没有安装cuda和cudnn?

有同学会疑问为什么这篇教程尽然没有像其他教程一样手动安装cuda、cudnn,使用命令

nvcc -V

查看cuda的时候也显示没有cuda-toolkit:

原因很简单。在安装完显卡驱动的基础上,使用conda 安装pytorch、tensorflow、keras时,conda会自动为我们计算有哪些依赖库,其中就包括了需要用到cuda。而且在安装不同版本tensorflow时,conda会根据tf的版本安装对应版本的cuda,不用我们操心cuda版本问题,你要操心的只是在安装显卡驱动的时候,尽量选择尽量高cuda-toolkit的版本,剩下的交给conda就行。

手动安装的cuda、cudnn是完整版,nvcc -V 是会显示当前的cuda版本号,而conda为我们安装的只是深度学习需要用到的部分cuda(并不是一个完整的cuda),而且cuda被封装在各个独立的环境中,自然nvcc -V命令没有作用。

这样的好处是,你根本不用担心cuda版本冲突,不用去费事建立软连接、设置cuda的环境变量,省去了新手在搭建环境时的很多麻烦。

要是有用的话,记得点赞点赞点赞~

(编辑:滁州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!