分享免费的编程资源和教程

网站首页 > 技术教程 正文

我的深度学习装机记录 - 远程连接篇

goqiw 2024-10-18 07:29:27 技术教程 36 ℃ 0 评论

好久不见,甚是想念,这里是代码里程碑

引子

距离上一次发表深度学习装机记录已经过去一年了,之前说了要再讲一下怎么进行远程控制的,结果一直在拖更,拖更到了现在,真不好意思。

首先我们来回顾一下具体的需求是什么?

现在我的手上有一台windows系统电脑,我希望通过它来做一点科研相关的事情,也就是跑一跑大模型算法,这部分要通过 WPS 来实现,WPS 是windows的 Linux 子系统,很适合工程使用。

除此之外,我希望可以在任何一个地方都以访问电脑,毕竟是一个台式机,我不能天天抱着它来移动啊。因此需要异地控制电脑。

同时,我想在异地访问也能拥有丝滑的体验,这个应该怎么做到呢?

先简单说一下我的最后方案:Windows WPS + zeroTire + MRD + vscode remote 。

这么一套下来,最近一年的运行还是挺顺畅和稳定的。如果你和我有一样的需求,不妨拿来做参考

好了接下来一步一步讲搭建的细节。我会给出对应的链接,方便大家查看

安装 windows 11 系统

安装 windows 11 系统并激活,这里需要选择专家版的。

windows 11 我建议大家直接到微软官方去下载就好了

https://www.microsoft.com/software-download/windows11

现在微软也提供了烧制u盘工具,很方便的,我推荐大家使用第二种方式,也是使用微软烧制u盘工具来做。当然了,使用这个方法需要有一个 u 盘。

后续需要安装系统和激活系统,激活系统我用的KMS方法,这个大家可以自己去搜索,如果找不到好的试试,亦是美网络的,我用的这家的[尬笑]。

安装WPS子系统了

建议遵循 微软官方的文档,具体的我还是放到下面:

https://learn.microsoft.com/zh-cn/windows/wsl/setup/environment

这一步有两点要说明下,现在我们都用的wsl2的系统,wsl1是老系统,很多功能支持的不好,用最新的wsl2即可,还有就是我们需要选择一个合适Linux发行版,这里我推荐 ubuntu20 LTS,这个发行版不能太旧,否则可能会和显卡不匹配。ubuntu20 适配最新的一系列显卡驱动,用它挺好的。

若要添加其他 Linux 发行版,可以通过 Microsoft Store、通过 --import 命令或通过旁加载你自己的自定义发行版进行安装。

通过 zeroTire 建立远程局域网

好了到这里准备工作做好了,我们应该开始处理网络连接的问题了。

首先存在的问题是,家庭使用的地址都是ipv4的内网,存在外网访问不到内网的设备的问题,因此我们需要一些工具来实现内网穿透,当然方法有很多,最终我选择使用了 zeroTier 来实现远程局域网。

https://www.zerotier.com/

zeroTier 的网络在国内是可以访问的,使用还是比较简单的。

通过MRD实现远程控制

接下来是windows远程控制的方案选择,这个当然有很多很多种方案,我还是选择了微软官方的 Microsoft Remote Desktop(MRD)它支持 mac、windows、等多种操作系统,被控制端的配置也很容易。具体的操作步骤就不一一的写了,我还是把它的文档放过来,方便大家查阅。

该文档是描述如何设置被控制电脑的

https://support.microsoft.com/en-us/windows/how-to-use-remote-desktop-5fe128d5-8fb1-7a23-3b8a-41e636865e8c

控制端参考这篇文档,目前支持 Android、ipad、windows、mac、web 几乎是所有平台了。

https://learn.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-clients

这里给大家看一下 MRD 的效果,首先在配置好电脑后,就会出现这样的图标,双击连接。


在进入之后,就和正常的使用电脑一样,具体延迟看网络速度,由于鼠标是经过优化的,使用起来还是很方便的。MRD还支持文件传输,通过设置共享文件夹来传输文件。这些事情大家可以慢慢摸索。

利用vscode remote 提高效率

本来到上一节就可以结束了,但是 MDR虽然强大,但是仍然还是通过图像传输,总会有一些延迟在其中,实际的开发体验还是有点差。为了让自己更舒服,我就继续折腾。终于找到了 vscode remote 的方法,这里有一篇详细解说的文章

Windows+WSL2+SSH实现远程办公_wsl ssh

https://blog.csdn.net/Jinzhe_01/article/details/131885500

对了,这里WSL2也派上用场了

上面的文章主要提到了如何建立ssh服务,以及如何把windows的网络请求转发给 Linux服务器。我再说一下 vscode 侧怎么配置

简单来说就是要把这几个插件都安装到vscode里面。然后需要配置下具体的ssh服务。最后的效果也很好,编写代码,上传下载文件,运行脚本,甚至还可以对python脚本打断点。基本和本地的开发体验一样了。唯一不足的是 vscode remote 使用不了copilot。

结束语

好了,到这里,如何配置一个可以远程访问的windows系统就结束了。

最后,想讨论一个话题,为什么工程类开发非要用 类linux系统呢,比如mac,或者wsl。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表