Pycharm远程连接云服务器跑python模型

      自己电脑的GPU配置不够跑python模型如pytorch/tensorFlow,也不想自己麻烦下载pytorch/tensorFlow环境,到网上租云服务器跑训练就是不可避免的事了。租完后Pycharm远程连接,实现本地更新代码远程实时更新。但这个过程总是到了实验阶段才需要,隔些时间不走就很容易遗漏细节踩坑,所以打算整理记录一下。

1.租服务器

      提供专门跑模型训练的云服务平台很多,一般对学生也都有优惠,主要是GPU配置和python版本选择自己实验适配的即可,例如我这里实验需要的是pytorch版本=1.12.1、python版本=3.8的,GPU我就选的24G就行了。

      租完后一般会提供给服务器的远程连接命令,例如ssh命令,上面会有服务器的ip、连接端口、用户名还有连接密码,这里我使用自己常用的远程连接工具平台FinalShell进行连接,当然使用其他的如XShell啥的都行。

      确定服务器连接没问题就可以了,接下来就是把我们的代码上传到服务器上去,然后安装好代码其他缺失的包,然后开跑。

2.文件数据上传

      在上传我自己的数据例如数据集、预训练模型、自己模型代码等到服务器的时候,之前有踩坑过,就是一开始选择了连接服务器后再上传文件,结果就是文件传输速率很低。才发现大多云服务器平台都会提供云盘,类似于数据中转站,我们可以直接先把数据上传到云盘,连接云服务器后,在从云盘上把数据下载到实例里,这个速率非常快,几g文件一下就上传/下载完毕了,这个过程参照平台的SOP,例如我这里是通过oss命令完成的,下载对应的oss程序,在windows上登录后上传,在云服务器上登录下载:

3.Pycharm远程连接

      在数据文件都成功上传到云服务器后,一般要先把代码缺失的包都下载好,例如pip install transformers等等,因为租用的云服务器是自带python版本的,所以接下来就可以直接开始代码运行进行训练了,但是现在的界面很不方便代码调试和修改,因为经常会出现一开始包版本不对等种种报错情况导致代码跑不起来,以及代码跑起来之后想要改代码优化的情况,这个时候只在云服务器上操作是很不方便的。
      使用Pycharm的远程连接功能,既可以享受Pycharm的友好界面(相比于Jupyter更完善),又使用的是云服务器的GPU资源,简直一举两得,而且每次在Pycharm的代码改动,都会实时更新到云服务器,只要建立对相应的目录映射就行了,不过这里的Pycharm要求是商业版,而不是免费的社区版,但是学生党不用担心,在JetBrains上认证学生,就可以免费使用JetBrains商业版全家桶,例如Idea、Pycharm等。

3.1添加远程python解释器

3.2填写云服务器登录信息

3.3正确建立目录映射

      连接成功以后会出现如下界面,一定记得勾选继承全局软件包,不勾选这个,就还是用的本地包版本!

      接着点击下面的文件目录,建立目录映射,这个就是说,这个项目在本地有一份,在远程服务器有一份,把他们的位置映射起来,即把当前项目的目录,映射到远程服务器项目所在的目录,这样本地的修改才能正确同步更新到远程!然后我把自动上传到服务器也勾选上了,这样Pycharm会自动检测更新,不用我手动更新。

      OK完成这些之后,点击创建,然后确认,之后就可以愉快训练了。

作者:像云~

物联沃分享整理
物联沃-IOTWORD物联网 » Pycharm远程连接云服务器跑python模型

发表回复