远程开发主要基于将开发环境(包括代码编辑、编译、运行等)从本地机器转移到远程服务器上,这个过程涉及几个关键组件和概念:
立即体验:https://gpumall.com/login?type=register&source=toutiao
1.远程服务器
远程服务器是托管远程开发环境的中心,可以是一个物理服务器,也可以是云中的虚拟机,比如在 GpuMall 平台,远程服务器为平台的 实例,服务器需要配置可以运行代码的环境。#autodl#恒源云#矩池云#算力云#恒源云 实例迁移#autodl 官网#autodi#GpuMall#GPU云#AutoDL#AotuDL 算力云#GpuMall智算云#AI#大数据#算力租赁#大模型#深度学习#人工智能#算力变现
2.网络连接
远程开发重依赖于网络连接,允许开发者的本地电脑与远程服务器进行通信,这包括文件传输、命令执行、结果返回等。
3.开发工具和IDE
开发者在本地电脑上使用的集成开发环境(Pychrm或VS Code或者其它IDE)通常具有连接远程服务器并在远程环境中执行任务的能力。
在 GpuMall 平台使用远程开发的适用场景如下:
本地电脑没有GPU或本地电脑硬件配置无法运行当前项目。本地安装环境较为复杂,不想折腾调试本地环境。本地调试后再上传到GPU服务器麻烦,不如在服务器上调试后直接 run。统一开发环境,防止本地调试完成可以正常 run 后,代码上传到实例中却报一堆错误。
提示
远程开发非常依赖网络稳定性,在 GpuMall 平台使用 IDE 工具进行远程开发,网络连接方式为:本地电脑 IDE -> GpuMall 平台网络转发服务器 -> 实例,以下情况可能会发生本地 IDE 与实例服务器网络断开连接。
综上所述:通过开发工具IDE连接实例进行远程开发仅适合调试代码,如有长时间训练需求,如连续 N 个小时或 N 天,请通过 ssh 登录到实例终端,配合 tmux、screen、nohup 等工具将训练进程放到后台运行,以免因网络中断而导致训练进程异常关闭。
使用 PyCharm IDE 工具进行连接 GpuMall 平台实例进行远程开发。
下载专业版
下载 Windows 版本
在 PyCharm 中新建一个项目,如果您的项目已经在本地电脑存在,则绕过该步骤;我这里为了演示代码同步,所以需要准备一个项目,我从 GitHub 拉取了 Yolov5 的项目来进行演示,并且使用本地解释器打印了一个测试页面。
1. macOS 点击 PyCharm -> Settings
2. 项目 -> Python解释器 -> 添加解释器 -> SSH
3. 到 GpuMall 控制台 -> 个人空间 -> 实例管理,找到对应实例的 登录,然后复制 登录指令 与 登录密码
复制后粘贴到任意文件中,内容如下
登录指令:ssh -p 11111 root@xxxxxxxx.gpumall.com登录密码:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx命令拆解如下:实例SSH主机:xxxxxxxx.gpumall.com实例SSH端口:11111实例登录用户名:root实例登录密码:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
然后把以上对应信息复制到下图中对应框中
然后点击4号标记进行下一步
4. 然后把对应的实例登录密码输入进去,然后点击下一步
5. 这一步会检测通过SSH登录目标实例和Python环境,检测完成后点击下一步
6. 配置远程服务器实例上的Python解释器
根据下图标记操作:
配置本地代码同步到远程服务器实例中的路径
1号标记为本地电脑项目路径,需要把该目录中的所有代码文件同步到远程服务器实例中 (本地电脑代码项目所在的目录中,比如我本地的 /opt/yolov5 目录中,一定不能存在数据集,该代码文件建议控制在 50MB 以内,否则本地电脑通过 PyCharm 同步该目录到实例中时间会无限长以及超时问题的发生)2号标记为本地电脑项目路径同步到实例中的路径,选择同步到实例中所存储的位置,我这里把项目文件同步到实例中的 /gm-data/yolov5 文件中。选择完成后,点击确定
7. 然后点击创建 -> 完成
PyCharm会自动同步 /opt/yolov5 目录中的数据到实例的 /gm-data/yolov5 目录下
8. 在本地电脑 PyCharm 中运行代码,可以看到输出使用的是远程服务器实例中的解释器
9. 通过 PyCharm 终端登录实例
展示测试运行 yolov5 过程
查看 GPU 利用率
(base) root@492132307857413:~# nvidia-smi Tue Dec 12 19:48:41 2023 +---------------------------------------------------------------------------------------+| NVIDIA-SMI 545.23.08 Driver Version: 545.23.08 CUDA Version: 12.3 ||-----------------------------------------+----------------------+----------------------+| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. || | | MIG M. ||=========================================+======================+======================|| 0 NVIDIA GeForce RTX 3090 On | 00000000:21:00.0 Off | N/A || 50% 50C P2 162W / 350W | 22807MiB / 24576MiB | 88% Default || | | N/A |+-----------------------------------------+----------------------+----------------------+ +---------------------------------------------------------------------------------------+| Processes: || GPU GI CI PID Type Process name GPU Memory || ID ID Usage ||=======================================================================================|+---------------------------------------------------------------------------------------+
后续更新...