使用服务器开启机器学习之旅

使用服务器开启机器学习之旅

本教程旨在帮助不了解linux服务器的初学者快速上手,各位大神请绕路。

机器学习任务往往是非常消耗计算资源的,稍微大一点的任务PC的算力都很难胜任。这个时候就需要使用服务器了,但服务器不像PC有友好的界面,很多人都望而却步。实际上稍微花一些时间就可以掌握非常使用的生产力工具,释放强大的服务器算力!
今天就来给大家介绍几个我自己在实际使用中最最常用的工具,基本上形成了一个高效使用服务器的解决方案。掌握它们可以让你变成一个看上去很酷的程序员,高效地开启你的机器学习之旅。

ssh+sftp

想要使用服务器首先你要和你的服务器建立通讯,这意味着你需要给它发送命令+传输文件。ssh和sftp是两个常用linux命令,帮助我们远程控制服务器。
对于初学者来说,你需要一个终端来运行这些命令。xshell是一个不错的选择,但是收费,而且鄙人感觉很丑,这就不可原谅了。最近爱上了一个非常好看的终端叫Hyper,放个图大家感受一下。
使用服务器开启机器学习之旅_第1张图片
当然外观都不是最重要的,只要有一个可以运行命令的终端就行了。使用Windows的同学可以考虑使用WSL,这里有一份WSL+zsh+Hyper的配置教程,有时间可以去折腾一下。
有了终端你就可以通过一句ssh命令ssh name@ip登录你的服务器了。至于传文件,推荐使用FileZilla,功能很全了,操作也非常简单,而且是免费的。当然如果你已经安装了xshell那可以用同系列的xftp。

tmux

运行机器学习的任务最大的特点就是时间很长,少则一两个小时,多则一两个星期都有。任务运行的期间肯定不能守在电脑旁边,万一和服务器的连接断了岂不是!!因此我们要想办法把任务放到后台去,等到时间差不多了再把任务恢复就行了。
tmux就是这样的一个工具,你只需要tmux创建一个新的session,如果连接断掉的话就再tmux attach重新连接。tmux的强大工具还不止于此,更重要的是可以分屏,这样你也可以多个任务并行的来处理了。
使用服务器开启机器学习之旅_第2张图片
上图是一个tmux的概念图,来自这篇讲解tmux概念和配置的博客,里面讲解了tmux的基本使用方法、快捷键的修改绑定等等。

vim

vim可以称得上是程序员界最重量级的文本编辑器,你可以不会写代码,但是如果你不会vim,你都不知道怎么改别人的代码。当然这话说的有点夸张,但掌握vim基本的使用方法确实可以使你的开发效率指数级上升。
我认识的很多人都非常怕学vim,为了绕开用vim恨不得拐弯拐弯再拐弯。其实vim让大家望而却步主要是不太直接的交互方式,看上去好像需要记住大量的快捷键才能用起来,事实上你确实需要记住大量的快捷键(lll¬ω¬),不过了解它的工作方式以后你就会学得快很多了。
使用服务器开启机器学习之旅_第3张图片
vim分成三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。
默认是在命令模式的,此时你可以用很多快捷键来直接操作大段文本,比如dd删除一行。
按下i进入输入模式,此时你就可以像普通编辑器一样为所欲为了。
编辑完成了记得按Esc退出编辑模式,不然后边的操作还是会作为普通文本输入。
最后是底线命令模式,最最常用的就是:wq保存并退出了。
这个模式还有很多其他功能,都是和一些更加复杂的命令操作有关的,比如输入/后就可以进行查找了。
vim的上限很高,大家入门以后需要慢慢积累,勤查勤记。
经常使用vim的同学建议对vim进行简单的配置(代码提示、格式化、更换主题等),这里是一份vim+python编辑器的配置教程,可以根据需要配置一下。

conda

机器学习离不开python。python的强大之处不仅在于其简洁的语法,更是在于可以方便的利用各种包。但项目只要超过两个你的环境就乱了。更常见的情况是一个服务器有很多人同时使用,不可避免的存在环境冲突问题。
这时候conda就非常重要了。conda把python本身也作为一个包来管理,将不同的环境分隔开。你只需要conda create -n env python=3.x就可以创建一个指定python版本的子环境。然后source activate env激活这个环境,再conda install package安装你需要的包就行了。
需要注意的是,如果你需要的包没有conda版本,这个时候你也可以用pip安装,前提是先激活环境,然后在激活的环境中conda install pip单独安装pip,然后再pip install package,这样安装的包才能在你创建的环境中运行,否则还是会安装到base环境中。

总结

有了这几个工具,你就可以自如的操作你的服务器了。你需要做的是将数据和文件通过ftp传到服务器上,然后打开你的终端ssh连接,tmux创建你需要的窗口,激活相应的conda环境,然后运行,如果报错就用vim对你的文件进行修改。
熟练的使用它们还需要长期的实践和探索,不要害怕入门的成本,一旦用上手你就会很高效且很有成就感地开启你的机器学习之旅了!

你可能感兴趣的:(Linux)