给小白的ubuntu深度学习服务器装机教程
这两天和实验室的小伙伴搭建了几台深度学习服务器,我们也是跟着各种教程一步一步慢慢摸索成功的, 深知小白装机时的无奈和痛苦(ノへ ̄、) 在此总结一下安装过程,如有错误,还请各位看官轻喷,若能给其他小伙伴们一点帮助,就是最大的荣幸。 想看多用户安装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组:
5、为多个用户安装公用Anaconda 这一部分内容参考了这里这篇文章。 5.1 安装anaconda 因为一个服务器上有多个用户,那么一个一个分别去给这些服务器安装Anaconda是非常麻烦的。所以我们想的是所有用户安装同一个Anaconda,每个用户可以根据共同的Anaconda创建自己的虚拟环境,以满足自己的需要。下载好对应版本的Anaconda安装包后,具体的操作如下:
注意一点,在下图所示,在选择安装路径的时候不要选择当前用户的目录,而是选择公用文件夹/usr/local/anaconda3 等待安装完成后,设置环境变量:
在打开的文件目录中按 i 进入输入模式,在文件的最后添加环境变量:
输入完成后,按esc退出编辑模式,接着按 :wq 保存修改结果并退出,得到的结果如下所示: 然后刷新一波环境变量设置:
5.2设置用户组 创建新的用户组datamining, 可自定义用户组名:
把Anaconda安装目录所属组设为刚才创建的组datamining:
修改Anaconda安装目录的权限:
把用户添加进组
更改完成后,重新输入用户名后重启或者重新登录一下用户,才会生效。 这时会发现,任何datamining组中的用户都可以使用python和conda命令,还有一个存在的问题是在非直接安装anaconda的用户中无法使用 conda create -n 创建新的环境,还需要最后一步,用chown命令将anaconda的拥有者设置为整个组:
至此,所有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了,当时我也不懂怎么建立软连接,折腾了很久都没能装成环境。 nvidia-smi和nvcc -V 之间的区别可以看这篇文章。简单来说,nvidia-smi所查看的是机子上能够安装的cuda的最高版本,而nvcc -V显示的是环境中实际运行的版本。 nvcc -V显示的cuda要小于 nvidia-smi显示的cuda才行。 如果你觉得这部分内容很绕,我这里提供一个简单的方法,只提供最少最必要的步骤,屡试不爽: 6.1 下载驱动 在官网上根据机子里的GPU下载对应的显卡驱动服务器装系统教程,但是注意,CUDA Toolkit版本那里应当选择最高的版本(听说过最高版本在运行时会出现掉GPU的问题,不过我没遇上过),因为这样之后低于该版本的运行cuda 都能安装, 如下图所示,我安装的是11.0版本的: 6.2 禁用nouveau 这是一个非常重要的环节,显卡驱动的安装和ubuntu自带的nouveau核是有冲突的,必须禁用该内核,参见该博客的操作: (1)增加内核参数禁用
输入i,进入编辑模式,在文件中增加GRUB_CMDLINE_LINUX_DEFAULT="modprobe.blacklist=nouveau" 可以合并写成下图所示的写法: 输入:wq保存并退出 (2)重新生成配置
(3)重启
重启后nouveau就被成功禁用,便可以愉快地安装显卡驱动了。 6.3安装显卡驱动
上述过程中可能会出现因为没有安装gcc 和 make 工具而失败的情况,如果出现了只需:
之后再执行:
一直下一步即可完成安装。安装完成后,输入:
如果显示下图所示的结果,则说明显卡驱动安装成功: 这里显示我安装的显卡驱动cuda是11.0,表明我能够安装任意低于11.0版本的cuda。 7、安装pytorch、tensorflow等深度学习环境 7.1 创建虚拟环境 为了保证环境的干净, 及其推荐给不同的框架创建不同的环境:
7.2 安装pytorch 打开pytorch官网,找打你的对应版本的pytorch安装命令, 注意,由于我安装的nvidia显卡驱动cuda是11.0,因此入下图蓝色框所示,所有低于11.0的版本cuda的pytorch都是可以选的。
需要说明的是,如果你的下载速度很慢,有两种解决方式,一种是找梯子,一种是为conda配置各种国内的源。 关于第二种添加国内源的方法,网上有很多教程,例如这个,不过有些我使用了之后下载速度还是很慢。所以这里推荐一种方式,编辑~/.condarc:
按i进入编辑模式,在文件中写入:
得到如下图所示的结果: 按:wq 保存并退出。 7.3安装tensorflow
步骤就是这么个步骤,剩下的就看网速了。 安装完成后,用如下命令查看已经安装的环境:
我安装的环境 贴几个常用的命令:
为什么没有安装cuda和cudnn? 有同学会疑问为什么这篇教程尽然没有像其他教程一样手动安装cuda、cudnn,使用命令
查看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的环境变量,省去了新手在搭建环境时的很多麻烦。 要是有用的话,记得点赞点赞点赞~ (编辑:源码网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |