首页 > 其他分享 >开发工具连接实例远程开发

开发工具连接实例远程开发

时间:2024-05-13 18:41:34浏览次数:16  
标签:开发工具 实例 PyCharm 本地 GpuMall 服务器 远程

远程开发主要基于将开发环境(包括代码编辑、编译、运行等)从本地机器转移到远程服务器上,这个过程涉及几个关键组件和概念:
立即免费体验:https://gpumall.com/login?type=register&source=cnblogs
1.远程服务器

远程服务器是托管远程开发环境的中心,可以是一个物理服务器,也可以是云中的虚拟机,比如在 GpuMall 平台,远程服务器为平台的 实例,服务器需要配置可以运行代码的环境。

2.网络连接

远程开发重依赖于网络连接,允许开发者的本地电脑与远程服务器进行通信,这包括文件传输、命令执行、结果返回等。

3.开发工具和IDE

开发者在本地电脑上使用的集成开发环境(Pychrm或VS Code或者其它IDE)通常具有连接远程服务器并在远程环境中执行任务的能力。

在 GpuMall 平台使用远程开发的适用场景如下:

本地电脑没有GPU或本地电脑硬件配置无法运行当前项目。
本地安装环境较为复杂,不想折腾调试本地环境。
本地调试后再上传到GPU服务器麻烦,不如在服务器上调试后直接 run。
统一开发环境,防止本地调试完成可以正常 run 后,代码上传到实例中却报一堆错误。
提示
远程开发非常依赖网络稳定性,在 GpuMall 平台使用 IDE 工具进行远程开发,网络连接方式为:本地电脑 IDE -> GpuMall 平台网络转发服务器 -> 实例,以下情况可能会发生本地 IDE 与实例服务器网络断开连接。

本地电脑睡眠、本地电脑 Wifi 连接网络出现断连。
本地网络出现波动,与 GpuMall 网络转发服务器断开连接。
GpuMall 网络转发服务器流量过载主动断开连接。
实例所在机房流量过载导致网络延迟、网络波动、从而中断连接。
综上所述:通过开发工具IDE连接实例进行远程开发仅适合调试代码,如有长时间训练需求,如连续 N 个小时或 N 天,请通过 ssh 登录到实例终端,配合 tmux、screen、nohup 等工具将训练进程放到后台运行,以免因网络中断而导致训练进程异常关闭。

PyCharm 连接 GpuMall 实例进行远程开发
使用 PyCharm IDE 工具进行连接 GpuMall 平台实例进行远程开发。

确保您的 Pycharm 为专业版,社区版无远程开发功能。
在 PyCharm 中进行数据集同步非常慢,仅适合代码文件进行同步到服务器端。
本次文档中演示 PyCharm 版本为 2023.3 (Professional Edition),内部版本号#PY-233.11799.259,已安装汉化插件。
该文档使用macOS版本进行演示,Windows版本与macOS版本可能有少许差距
下载专业版
Windows
macOS
Linux
下载 Windows 版本

  1. 新建项目
    在 PyCharm 中新建一个项目,如果您的项目已经在本地电脑存在,则绕过该步骤;我这里为了演示代码同步,所以需要准备一个项目,我从 GitHub 拉取了 Yolov5 的项目来进行演示,并且使用本地解释器打印了一个测试页面。

  1. 配置远程连接到实例及Python解释器
  2. macOS 点击 PyCharm -> Settings

  1. 项目 -> Python解释器 -> 添加解释器 -> SSH

  1. 到 GpuMall 控制台 -> 个人空间 -> 实例管理,找到对应实例的 登录,然后复制 登录指令 与 登录密码

复制后粘贴到任意文件中,内容如下

登录指令:ssh -p 11111 [email protected]
登录密码:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

命令拆解如下:
实例SSH主机:xxxxxxxx.gpumall.com
实例SSH端口:11111
实例登录用户名:root
实例登录密码:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

然后把以上对应信息复制到下图中对应框中
1号标记填入您实例对应SSH主机
2号标记填入您实例对应的SSH端口
3号标记填入您实例对应的用户名
然后点击4号标记进行下一步


  1. 然后把对应的实例登录密码输入进去,然后点击下一步

  1. 这一步会检测通过SSH登录目标实例和Python环境,检测完成后点击下一步

  1. 配置远程服务器实例上的Python解释器





  1. 然后点击创建 -> 完成

PyCharm会自动同步 /opt/yolov5 目录中的数据到实例的 /gm-data/yolov5 目录下

  1. 在本地电脑 PyCharm 中运行代码,可以看到输出使用的是远程服务器实例中的解释器

  1. 通过 PyCharm 终端登录实例

点击左下角终端
选择创建的 SSH 服务器

  1. 测试运行项目
    展示测试运行 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 |
|=======================================================================================|
+---------------------------------------------------------------------------------------+

VS Code 连接 GpuMall 实例进行远程开发
后续更新...

标签:开发工具,实例,PyCharm,本地,GpuMall,服务器,远程
From: https://www.cnblogs.com/GpuMall/p/18189617

相关文章

  • 开发工具连接实例远程开发
    远程开发主要基于将开发环境(包括代码编辑、编译、运行等)从本地机器转移到远程服务器上,这个过程涉及几个关键组件和概念:立即免费体验:https://gpumall.com/login?type=register&source=cnblogs1.远程服务器远程服务器是托管远程开发环境的中心,可以是一个物理服务器,也可以是云中的......
  • .net core 实现注册同一服务类型的多个服务实例
    1.注册服务。给IMyDependency注册两个不同的实现。builder.Services.AddSingleton<IMyDependency,MyDependency>();builder.Services.AddSingleton<IMyDependency,DifferentDependency>();2.依赖注入。通过 IEnumerable<IMyDependency>获取两个不同的实现,这里会按注......
  • 专业商用远程控制软件,低至10元每月
    如今不论工作还是生活,远程控制软件已成为我们的必备工具。说到远程软件,市面上有很多款。但“个人免费版”,往往会有限速、卡顿、不清晰等问题;商业版很强大,但普遍价格昂贵。那么有没有既便宜又专业的商业级远控软件呢?现在,它来了,它来了!Splashtop家族的商业版远程软件BusinessAcc......
  • C# 实现Ping远程主机功能
    C#实现Ping远程主机功能。 1、引用nuget包Wesky.Net.OpenToolsOpenTools是一个用于提高开发效率的开源工具库。该项目为个人开源项目,采用MIT开源协议,永不更改协议。开源项目地址:Gitee:https://gitee.com/dreamer_j/open-tools.gitGithub:https://github.com/LittleLittleRob......
  • 【视频】多元线性回归模型原理讲解与R语言实例
    原文链接:https://tecdat.cn/?p=36149原文出处:拓端数据部落公众号分析师:XueYang近年来,随着计量经济学和统计学的快速发展,回归模型作为一种有效的数据分析工具,被广泛应用于金融市场的分析中。回归模型能够通过建立变量之间的数学关系,揭示变量之间的相互作用机制,并预测未来趋势。......
  • 关于远程开发容器一点思考
    最近很多大公司,都布局了云开发。githubcodespacesgitpodjetbrainsspacesgooglecolabReplit  个人思考===========================它们底层全部是基于Linux的docker容器(除了colab),只是尽可能看起来像虚拟机。好处: 环境统一,好迁移,开发方便缺点有很多:1. 价格......
  • elasticsearch 数据远程备份与还原
    官方文档:备份集群:https://www.elastic.co/guide/cn/elasticsearch/guide/current/backing-up-your-cluster.html#backing-up-your-cluster恢复数据:https://www.elastic.co/guide/cn/elasticsearch/guide/2.x/_restoring_from_a_snapshot.htmles官方默认是备份数据到本地的,如果......
  • K2P路由器安装frp远程管理N1机顶盒
    下一步计划:由于scrcpy的audioforwarding需要Android11+;可有其他方案能传输语音?usbaudio如果存在的话就可以使用web端的scrcpy共享出机顶盒的TVBOX点播功能朗读全文Yourbrowserdoesnotsupporttheaudioelement.有什么用frp内网穿透后,可以主动发起远程控制处于无......
  • mongodb单实例开启oplog
    需求DTS传输同步数据的需求,需要将mongodb里的数据更新、数据增加操作同步给FC函数MongoDB中的Oplog(操作日志)是一个特殊的集合,用于记录数据库的所有操作。Oplog是MongoDB复制集中的一个重要组成部分,它允许从节点通过读取Oplog来实现与主节点的数据同步。所以要把单实例调整成复......
  • gitlab权限管理,远程仓库(旧)
    gitlab权限管理,远程仓库(旧)6.gitlab权限管理,远程仓库在组中设置的权限会继承到组中的所有项目中在项目中添加权限只影响该项目创建后项目中的成员后,管理员手动设置成员密码(8位以上),成员登陆后系统会要求重设密码dev1登陆,添加host6的公钥,yuminstallgit,[email protected]......