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只是一个窗口。
相关推荐
每日出拳老爷子1 小时前
【远程协助】内网 IT 运维远程协助系统的最小可用架构
运维·服务器·远程工作·流媒体·视音频
oMcLin1 小时前
如何在 Ubuntu 22.10 上通过 Kubernetes 和 Helm 管理微服务应用,简化跨平台电商平台的自动化部署?
ubuntu·微服务·kubernetes
CheungChunChiu1 小时前
Linux 内核动态打印机制详解
android·linux·服务器·前端·ubuntu
西***63472 小时前
打破部署桎梏!编码器两大核心架构(NVR/PoE)深度解析
服务器·音视频·视频编解码
oMcLin2 小时前
如何在Ubuntu 20.04上配置并优化容器化的SaaS应用平台,实现弹性伸缩与跨区域分布?
ubuntu·sass
heartbeat..4 小时前
零基础学 SQL:DQL/DML/DDL/DCL 核心知识点汇总(附带连接云服务器数据库教程)
java·服务器·数据库·sql
那些年的笔记5 小时前
Linux屏幕旋转方法
linux·运维·服务器
XiaoHu02075 小时前
Linux网络编程套接字
linux·服务器·网络·git
gaize12135 小时前
科普篇“机架、塔式、刀片”三类服务器对比
运维·服务器
咕噜企业分发小米5 小时前
如何利用云服务器搭建游戏服务器并实现跨平台游戏?
运维·服务器·游戏