我可以运行 Google Colab(免费版)脚本,然后关闭我的计算机吗?

问题描述 投票:0回答:4

我可以运行 google colab(免费版)脚本,然后关闭我的计算机吗?

我正在使用交叉验证来训练几个深度学习模型,因此我想知道是否可以在云中同时运行训练时关闭窗口或计算机。

python google-colaboratory
4个回答
125
投票

2024 年更新:

在撰写原始答案时,Google Colaboratory 是一项完全免费的服务,并且没有对问题所描述的笔记本的“后台执行”的官方支持。虽然我们之前通过轶事经验对笔记本电脑的使用寿命进行了一些估计,但这些估计不再可靠,您会发现 Colaboratory 现在更加积极地修剪您的笔记本电脑运行时间。 现在问题的答案很简单

不,如果不花钱购买 Colab Pro+ 订阅,或者使用违反 Colab 使用政策的解决方法,您可能无法可靠地在后台运行 Google Colab 笔记本。

如果您无法使用 GPU,也没有资金来支付使用 GPU 的费用,但需要它们来执行长时间运行的任务,您可以查看这个非详尽的替代方案列表。然而,它们都有使用限制,或者涉及使用学习曲线:

2019 年左右之前的回答:

浏览器关闭时,Colabs 实例最多运行

12 小时

运行时间之前 90 分钟被视为空闲并被回收。 同时,定期保存模型权重以避免丢失工作也是一个很好的做法。


28
投票

function ClickConnect() { console.log("Working"); document .querySelector('#top-toolbar > colab-connect-button') .shadowRoot.querySelector('#connect') .click() } setInterval(ClickConnect, 60000)

诗。无论如何,您都会在 12 小时后被踢出,因此请确保将进度保存到 Google 云端硬盘。


4
投票

对我来说,我选择通过 ssh Ngrok chroot 进入虚拟机并在后台运行命令 shell(循环)

while true;do sleep 300; done &
我正在使用&`在后台运行此命令 这样我就可以退出 Colab 网站并让虚拟机继续工作 12 小时

ssh Ngrok

在 colab 中使用 ssh 的最佳方式,您必须登录一次

ngrok.com

并获取您的 OAuth 密钥并将此单元格添加到您的 colab 笔记本中

#@title **SSH**

! pip install colab_ssh --upgrade &> /dev/null

Ngrok = True  

try:
    if username:
        pass
    elif password:
        pass
except NameError:
    !echo "root:root"   | chpasswd
    username='root'
    password='root'




#@markdown [OAuth](https://dashboard.ngrok.com/auth)
ngrokToken = "" #@param {type:'string'}


def runNGROK():
    from colab_ssh import launch_ssh
    from IPython.display import clear_output
    launch_ssh(ngrokToken, password)
    clear_output()

    print("ssh", username, end='@')
    ! curl -s http://localhost:4040/api/tunnels | python3 -c \
            "import sys, json; print(json.load(sys.stdin)['tunnels'][0]['public_url'][6:].replace(':', ' -p '))"










if Ngrok:
    if ngrokToken == "":
        print("No ngrokToken Found, Please enter it")
    else:
        runNGROK()

现在在 colab 单元格中编辑文本中输入您的 OAuth 密钥,3-9 秒后您会看到这样的 ssh 

ssh [email protected] -p 13225

不要忘记更改root用户的密码(默认为root),为了更安全,您应该更改root用户的linux密码
!echo "root:new password" | chpasswd

并通过python变量:

password =password='new password'
,您必须匹配linux密码和var python密码,看上面的这条线:
print("No user found using username and password as 'root'")
    !echo "root:t"   | chpasswd
    username='root'
    password='root'



2
投票

© www.soinside.com 2019 - 2024. All rights reserved.