Ubuntu服务器+win10+PyCharm远程深度学习开发

文章目录

目标与思路

  • 目标场景:项目代码以及数据集在Ubuntu远程服务器上,使用ssh和sftp协议连接服务器,在个人电脑上进行远程编辑、调试与运行,并使用远程的资源,包括GPUs和CPU以及内存等。
  • 本人使用PyCharm较为习惯,之前有过使用vscode在较大C++项目上出问题的情况,所以偏向于使用P有Charm,注意如果要使用remote功能,需要专业版PyCharm(去某宝)。但是PyCharm在实现上述场景时需要本地有代码备份(不需要数据集备份)。

Ubuntu服务器

  • 服务器通过ssh连接+用户名+用户密码,需要注意,要么使用校园vpn或者在校园网内,记住服务器ipv4地址,如果出现连接不上,但是能ping服务器的情况,可能是服务器端没有安装sshd(ssh server,记得安装并开启服务)。
  • 每个人的个人用户没有权限查看其他用户的文件,也没有root权限,所以无法安装一些ubuntu包,但是可能的解决方案是找到pypi中可替代的包,比如实时监测服务器显卡资源占用情况的NVITOP。
  • 每个用户自己安装一个conda(miniconda比较合适)

Win10

  • 我希望使用win10系统,借助PyCharm完成深度学习或者其他python项目的开发,首先需要安装专业版PyCharm(某宝),随后进行ssh configuration ,然后Deployment → \rightarrow →Remote host , 选择相应的ssh configuration并配置mapping。至此如果一切正常,则你可以访问到远程的文件资源,并且由于设置了路径映射,所以你可以进行项目文件同步,并且值得一提的是,不要吧数据集同步,因为数据集太大,如果批量修改了文件,那么会很麻烦,需要时间太长,并且在本地端存数据集太不优雅了。注意设置Tools → \rightarrow →Deployment → \rightarrow →Options → \rightarrow →设置自动同步。
  • 关于PyCharm我还有些自己喜欢的配置:设置free distraction mode(View → \rightarrow →Appearance),并且去除不常用的side bars和main menu中不需要的选项,在进入free distraction mode之后,代码编辑框的left margin会很大,可以进入setting设置。
  • 此时通过Tools可以开启SSH session terminal,可以进行代码运行等操作,创建好自己的conda环境。但是无法单步调试,考虑到我们需要需要使用远程资源并且调试,我们需要设置remote interpreter(设置ssh interpreter,找到conda目录下envs中你自己环境的python,将其设置为你的remote interpreter)。
  • 此外,PyCharm的remote terminal可以用,但是推荐再装一个专门做连接的软件Mobaxterm,传文件之类的会比较快,可以常开一个监控GPUs资源占用的窗。
  • 使用ssh terminal时,有个小技巧是,有时候网络不稳定会导致terminal断开连接,此时东西都丢失了,这时可以使用类似于screen之类的终端复用器,让终端在远程运行,而本地开的terminal只是一个窗口。
相关推荐
消失的旧时光-19433 分钟前
Linux 编辑器入门:nano 与 vim 的区别与选择指南
linux·运维·服务器
starfire_hit1 小时前
JAVAWEB根据前台请求获取用户IP
java·服务器·网络
云边有个稻草人2 小时前
打工人摸鱼新姿势!轻量斗地主服务器,内网穿透让同事远程联机不翻车
运维·服务器·cpolar
阿钱真强道2 小时前
12 JetLinks MQTT直连设备事件上报实战(继电器场景)
linux·服务器·网络·数据库·网络协议
wbs_scy2 小时前
Linux 进阶指令实操指南:文件查看、时间管理、搜索压缩全场景覆盖(附高频案例)
linux·运维·服务器
Lethehong2 小时前
实测可用|一文搞定OpenClaw部署,免费kimi-k2.5+飞书远程,新手也能秒上手
linux·运维·服务器·玩转openclaw·云端创意实践
逍遥德2 小时前
Sring事务详解之02.如何使用编程式事务?
java·服务器·数据库·后端·sql·spring
小草cys3 小时前
在 openEuler 上安装 DDE 图形桌面环境(适用于华为鲲鹏服务器/PC)
运维·服务器
天才奇男子11 小时前
HAProxy高级功能全解析
linux·运维·服务器·微服务·云原生
❀͜͡傀儡师12 小时前
centos 7部署dns服务器
linux·服务器·centos·dns