一般我们进行深度学习大部分是在本地进行调试,到实验室台式机中进行炼丹,这样来我们必须时刻待在实验室。接下来要说的,通过云服务器这种方法就可以随时随地进行深度学习。

最终我们实现的是远程进行深度学习的程序运行,打开一个深度学习项目,将pycharm的解释器换为远程GPU云服务器的解释器,然后在你的便携笔记本上跑就行了…

前提条件:
1、便携式笔记本电脑(本人是Macbookpro13.3)
2、GPU云服务器,可以是网购也可以是自己搭建
3、能上网!能上网!能上网!

便携式笔记本

笔记本电脑配置参照一般超极本即可,电脑中最好也有pytorch的环境,不必需要cuda版的,python环境当然最好搭建好,而且安装好pycharm。

云服务器

我选购的是美团云的服务器,美团云最近在搞活动,GPU服务器价格5折,当然要趁着这个机会尝尝鲜啊…关键是价格还算比较便宜,相比于阿里云实在是便宜多了。。

这是我选购的配置清单:

pytorch服务器程序运行突然变慢 pytorch云服务器_云服务器

M60显卡大家可能比较陌生,因为我们都是用1070、1080ti等消费级显卡,这个M60显卡是服务器显卡,服务器显卡么,最大的优点就是可以多用户运行,并发性较好,至于每个人分配的运行资源么,一会测测就知道了。

价格1.39一个小时,怎么说,按一天8个小时的使用量(当然如果你训练的话可能需要好几天,现在不讨论这个),一天下来差不多12块,一个月就是360块,价格对于学生党来说还是比较贵的。

好了安装好系统连上SSH进行测试吧!

系统使用的ubuntu16.04,美团云自动安装了cuda8.0和cudnn6.0,版本有点旧了啊。。。

刚开始连上ubuntu第一件事做的就是sudo apt-get updatesudo apt-get upgrade么,当然,我这边出现了点问题,apt-get安装软件Unable to locate package错误解决办法,总之就是更新apt的source源。

好了,这一部完了开始搭建虚拟环境系统吧,这里我是下载好了anaconda3的ubuntu版 .sh文件 然后通过ftp上传到服务器中进行安装,安装好了记得将anaconda3的环境变量添加到你的profile中。

安装好anaconda后,搭建一个虚拟环境,具体步骤自行百度,然后在此虚拟环境中安装pytorch就好了,conda install pytorch torchvision -c pytorch执行上面官方命令,系统就会自动为你安装pytorch和所需要的一切组件。

好了,到了这里云服务器的环境就差不多搭好了,接下来配置pycharm。

pycharm远程调试

打开tools中的deployment,点击➕进行服务器配置。

名称随便起,类型选为sftp,其他的按照服务器的标准来填就好,root path不用换。

pytorch服务器程序运行突然变慢 pytorch云服务器_pytorch服务器程序运行突然变慢_02

mappings中填写你本地工程的地址和服务器那边的地址,配置好后当你在本地改程序的时候,程序就会同步到服务器上,相当于一个自动的git了~

pytorch服务器程序运行突然变慢 pytorch云服务器_深度学习_03

excluded path不用填

这一步弄好,仅仅是可以通过本地的pycharm来修改服务器端的程序,肯定比通过ssh工具通过vim等编辑器编辑程序好吧。。。当然,这个程序只能在服务器上运行,不能在本地运行。。。所以接下来就要使在本地也可以运行。

打开你当前pytorch工程的解释器,点击添加远程解释器(此时我的解释器还是本地的)。

pytorch服务器程序运行突然变慢 pytorch云服务器_笔记本_04

选择之前的弄好的deployment即可,注意python解释器地址一定要写成anaconda3中envs中创建好虚拟环境的地址(下图中不正确)。

pytorch服务器程序运行突然变慢 pytorch云服务器_pytorch服务器程序运行突然变慢_05

填写好正确地址后,生成的解释器如下:

pytorch服务器程序运行突然变慢 pytorch云服务器_调试_06

好了,解释了弄好了,就可以跑个测试程序了,这里跑的是fcn中的一段测试程序,来自github中的pytorch-fcn。

pytorch服务器程序运行突然变慢 pytorch云服务器_调试_07

以上是程序运行结果,相比如泰坦x的45s 和 1060 6G 的129s,这个服务器可以调用的运算资源稍稍差于1066,当然这个测试并不标准,两个程序运行的cuda版本不同,将服务器中的cuda版本升级一下可能会更快些。

总结

除了远程调试,其实也是可以远程debug的,不过需要安装很多东西。

总而言之,远程调试深度学习程序是可以的,自己搭个服务器或者网购一个服务器租用,随时随地进行深度学习,哈哈,还是不错的。

参考文章:

http://www.linuxidc.com/Linux/2016-09/135476.htm