Google cloud platform Can';t使用gcloud sdk保持与VM的SSH连接

Google cloud platform Can';t使用gcloud sdk保持与VM的SSH连接,google-cloud-platform,google-compute-engine,google-cloud-sdk,Google Cloud Platform,Google Compute Engine,Google Cloud Sdk,我有一个用于PyTorch的google cloud Deep Learning虚拟机映像,它使用SSH连接连接到上面的Jupyter笔记本。我如何才能改变我目前正在做的事情,使Jupyter笔记本在我关闭笔记本电脑/暂时断开互联网连接时仍保持活动状态 当前,在关闭VM并打开tmux窗口后,我使用以下命令启动Jupyter笔记本及其SSH连接: gcloud compute ssh <my-server-name> -- -L 8080:localhost:8080 gcloud

我有一个用于PyTorch的google cloud Deep Learning虚拟机映像,它使用SSH连接连接到上面的Jupyter笔记本。我如何才能改变我目前正在做的事情,使Jupyter笔记本在我关闭笔记本电脑/暂时断开互联网连接时仍保持活动状态

当前,在关闭VM并打开tmux窗口后,我使用以下命令启动Jupyter笔记本及其SSH连接:

gcloud compute ssh <my-server-name> -- -L 8080:localhost:8080
gcloud compute ssh--L 8080:localhost:8080
此代码取自以下深度学习图像的官方文档:

然后,我可以在localhost:8080上进行连接并执行我需要的操作。但是,如果我开始训练一个模型很长时间,并且需要关闭我的笔记本电脑,当我重新打开它时,我的ssh连接中断,Jupyter笔记本电脑关闭,我正在训练的模型中断

如何保持Juptyer笔记本的活动状态,并在以后重新连接


注意。我曾经使用Google云浏览器SSH选项,一旦进入服务器,就会启动一个tmux窗口,并在其中启动jupyter笔记本。这非常有效,这意味着笔记本永远是活的。然而,对于预装了CUDA和Jupyter的Google云图像,这不起作用,我唯一能够连接的方法就是通过上面的命令。

我认为最好安装。这样,即使断开连接,您的工作也可以继续运行

有些事情你可能也想知道

这不是您正在寻找的多用户服务器。本文档介绍如何使用单个用户运行公共服务器。这只能由希望远程访问其个人计算机的人完成。即便如此,这样做也需要彻底了解设置限制和安全影响。如果您允许多个用户访问本文档中描述的笔记本服务器,则他们的命令可能会相互冲突、碰撞和覆盖

如果您想要多用户服务器,官方解决方案是JupyterHub。要使用JupyterHub,您需要一台Unix服务器(通常是Linux),该服务器运行在网络上用户可以访问的地方。这可能会在公共互联网上运行,但这样做会带来额外的安全问题


我以前在GCP上也遇到过这个问题,并且找到了一个简单的方法来解决这个问题。一旦ssh进入计算引擎,运行linux
screen
命令,您将发现自己在一个虚拟终端中(您可以并行打开多个终端),您将希望在这里运行长时间运行的作业

开始作业后,使用键
Ctrl+a
d
从屏幕上分离。一旦分离,您可以退出虚拟机,重新连接到虚拟机并运行
screen-r
,您将发现您的作业仍在运行

当然,您可以使用
screen
命令做很多很酷的事情,并鼓励您阅读找到的一些教程

注意:请确保您的计算引擎实例不是可抢占的机器


让我知道这是否有帮助

也许以下内容会有所帮助?也许还。。。