前言:
博主是一名学生党,因经费限制购买的电脑配置并不是很高,显存大小仅4GB,虽然日常学习时的模型训练基本能满足,但做项目或者有大模型训练需求时,就没办法满足要求了。今天这篇博客给大家分享一下如何利用pycharm连接远程GPU训练我们的神经网络模型,这篇文章一是记录下我之前的学习过程以免忘记,一是帮助下有这方面需求的小伙伴(当初因为不会弄,鼓弄了1,2天,花费了不少时间和冤枉钱)
注意:只有pycharm专业版才能远程连接GPU设备,请大家在看本篇文章前确保已下载pycharm专业版。
一、AutoDL算力云——租用GPU
AutoDL是一个云GPU深度学习环境出租平台,随着人工智能的发展被越来越多人知晓和使用。我们本次也选择在AutoDL上租用GPU服务器。
1、注册登陆与学生认证
AutoDL算力云平台的官网地址为:AutoDL算力云,进入官网后大家完成注册登陆,如果是学生可以完成一下学生认证,认证后租用GPU时会给予一定优惠。
学生认证方式:注册后进入控制台主页,右方有一个学生认证(这里已认证完成)。大家可通过教育邮件进行认证,如无法进行邮箱认证,则可以通过添加微信客服进行认证。
2、租用GPU服务器
点击算力市场,地区无区别可随意选择,大家可根据自己的需求选择要租用的GPU型号和GPU数量(建议租用的GPU能满足需求就可)
租用前会有镜像选择,这里我选择的是 基础镜像 ——> PyTorch / 1.11.0 / 3.8(ubuntu20.04) / 11.3(大家根据自己的情况选择镜像),而后点击立即创建,创建后GPU即租用成功。租用成功的GPU服务器可在控制台的容器实例中查看。
这里我们将实例中的登陆指令复制粘贴下来,后续将会使用到。
二、pycharm连接远程GPU
在pycharm进入设置(File ——> settings)界面,选择python解释器(Project Interpreter),在右上方的python解释器一行最右方有一个设置按钮,点击选择添加(Add),如下图所示:
点击添加后选择SSH解释器,在新服务器配置中填入主机,端口与用户名(若之前连接过,且容器实例还存在,则在现有服务器配置中选择连接即可)
新服务器相关配置项按照以下方式填写:
假设登陆指令为:ssh -p 48490 root@region-9.autodl.pro
主机:region-9.autodl.pro
端口:48490
用户名:root
填写完成后点击下一个,填写连接密码,密码可在官网控制台的容器实例界面中获取,如下所示:
填写密码后点击下一个,解释器路径选择下图中的路径:
如果想修改映射到远程服务器的本地代码文件路径,则按以下步骤修改:
最后点击完成即可。连接后大家可在映射到远程服务器的本地代码中进行一下测试,如下所示:
由上图可知我们成功在异地运行代码,即服务器连接成功。
三、资源的上传与下载
这一部分官方文档进行了介绍,但不是很清晰易懂,详情可参考:AutoDL帮助文档 。这里推荐大家使用 FileZilla 软件来进行资源的上传和下载,FileZilla软件的下载地址为:FileZilla中文网 ,大家根据自己的情况选择下载的版本。
1、FileZilla连接GPU服务器
FileZilla下载安装后打开,点击文件选择站点管理器:
输入相关信息后点击连接,即可连接到远程服务器。
连接成功后找到远程服务器中与本地代码文件对应映射的项目文件,如下所示:
2、利用FileZilla上传资源
进入服务器的项目文件后,在左方将自己想要上传的资源(如数据集,代码等)右键单击上传。
3、利用FileZilla下载资源
若要将远程服务器中的资源下载到本地(如训练完成的模型),在右方选择需要下载的资源右键单击下载。
四、常见问题与注意点
1、在FileZilla中上传和下载文件失败,错误原因为超时或从服务器断开
解决办法:查看网络连接,断开或者卡顿都会造成此类错误。
2、模型自动停止训练
解决办法:仍然是查看网络的连接,网络断开或卡顿会导致与服务器断连,从而导致模型训练自动停止,另外提醒一点:模型训练过程中关闭电脑的自动睡眠!睡眠也会导致网络断开从而导致模型训练停止。
3、代码报错缺少相关库或包
解决办法:进入控制台容器实例界面,选择快捷工具中的JupyterLab,进入后选择终端,在终端中安装缺少的库或包。
我们试着安装一下mediapipe这个库,看下图可知安装成功。
4、容器实例相关操作
(1)一个容器实例不开机的情况下最多只能保持15天;
(2)在上传或下载资源时可以将容器实例选择无卡模式开机,此状态下可以正常连接到服务器并进行资源的上传下载,消费费用为0.1元/小时,但此状态下无法在远程运行代码,且你的GPU设备可能会被他人占用;
(3)若想将当前实例中的数据转到另一个容器中,可选择迁移实例,具体可参考官方文档:AutoDL帮助文档——迁移实例
OK,完成以上所有步骤后就可以在pycharm中进行模型的训练了,如下图所示模型训练成功!