我相信大家在进行深度学习的科研时,都会遇到这个问题:(1) 使用的是租借的或者是实验室的云端服务器 (2) 自己在本地写代码,但是需要gpu来验证,而不是瞎眼写代码。 我平时使用python编译器基本是Pycharm,如果是轻量级的项目,我一般使用vscode (只要你用vsc我们就是异父异母的亲兄弟)。而一般写大平台项目我用的都是专业版的Pycharm,注意我以下教程的功能只能professional版本能用,community版本不能使用哦~
我这里想要把远端gpu云服务器和本地Pycharm代码项目给连接起来,这对于我们的代码调试与修改,是相当方便的。下面我就来记录一下我具体的操作过程。
一、deployment远程配置
首先我们需要配置我们的远程配置链接,打开Tools->Deployment->Configuration
然后我们点击+
,输入服务器的IP与密码,选择SFTP
类型,新建服务器的配置。
最后选择Mappings
,将本地路径与远端路径进行选择,远端路径就市部署到Linux上的路径,即本地文件上传的位置,进行保存,远端配置文件就配置完成了。
二、本地项目选择远端python解释器
通过Files->settings路径进入配置界面,然后我们选择项目解释器Project Interpreter,选择ssh解释器已经存在的配置,并创造一个新copy,注意一下这里的逻辑关系,刚开始我并没有理解Create
与Move
的关系。
这里如果点击Move
则是表示把这个服务器上的默认解释器直接转移到当前项目中,并且不方便修改解释器路径(一台服务器上一般是多个python环境组成)。而Create
选项则是创建了一个复制的环境,这样的好处显而易见,方便管理不用项目代码的连接位置,与编译器,如下图所示。
在这里我选择的是python解释器是anaconda,由于电脑上有多个环境,而且有时候我需要使用特定的虚拟环境,那么如何知晓解释器的路径呢?打开远端服务器的命令行
~$ python # 进入想要作为解释器的python环境
>>> import sys
>>> print(sys.executable) # 这里就是输出了python的解释器路径
三、将项目代码上传到远端服务器
最后我们还得选择上传到远端服务器的位置,这里我放在了我的文件夹中,勾选Automatically upload
选项就是在Finish
之后将所有项目代码自动上传。
上传速度很快,耐心等待后,整个项目就完全部署到远端服务器上了,这时候你在本地运行,实际上代码是跑在远端服务器上的,如下图所示。
这里可以看到,我们代码已经是跑在远端服务器上了,Pycharm这样的功能是极其方便的。
那么,如果我们需要修改某个文件的代码,还需要把所有项目重新上传吗?
这很显然,没必要,我们只需要把修改过的文件更新到远端即可。比如,我们修改了test_image.py
文件,我们只需要右击,单独把它上传到远端,然后运行即可。
OK,关于Pycharm如何通过ssh连接远端GPU服务器训练深度学习的代码教程就讲到这里了 ~
祝大家深度学习愉快 ~ 之后我要开始更新数模教程了