Colaboratory

本地运行时

通过 Colab,您可以连接到本地运行时。这让您可以在本地硬件上执行代码。

安全注意事项

在执行任一笔记本之前,请确保您信任其作者。采用本地连接时,您执行的代码可以在您的计算机上读取、写入以及删除文件。

连接到本地机器上的运行时可带来诸多好处,但同时也面临严重的潜在风险。连接到本地运行时即表示您允许 Colab 前端使用机器上的本地资源执行笔记本中的代码。 这意味着笔记本可以:

在尝试连接到本地运行时之前,请确定您信任相应笔记本的作者,并确保您了解要执行什么代码。要详细了解 Jupyter 笔记本服务器的安全模型,请参阅 Jupyter 的文档

设置说明

第 1 步:启动运行时

您可以直接运行 Jupyter,也可以使用 Colab 的 Docker 映像。Docker 映像包含我们的托管运行时环境 (https://colab.research.google.com) 中提供的软件包,并支持某些界面功能(如调试和资源利用率监控器)。但是,默认情况下,本地机器上安装的软件包(一般是文件)不可用。我们为 linux/amd64 平台提供了 Docker 映像。

方法 1. Colab Docker 运行时映像

在本地机器上安装 Docker。请注意,europe-docker.pkg.devasia-docker.pkg.dev 是以下 us-docker.pkg.dev 的替代镜像。对于这些大洲的用户,下载速度会更快。这些映像相同。启动运行时:

        docker run -p 127.0.0.1:9000:8080 us-docker.pkg.dev/colab-images/public/runtime
      

如需支持 GPU,请使用以下命令安装 NVIDIA 驱动程序NVIDIA 容器工具包

        docker run --gpus=all -p 127.0.0.1:9000:8080 us-docker.pkg.dev/colab-images/public/runtime
      

该映像已使用 NVIDIA T4、L4 和 A100 GPU 进行测试。

容器启动后,它将输出一条消息,其中包含验证身份用到的初始后端网址,格式为“http://127.0.0.1:9000/?token=...”。请复制此网址,因为您需要在下面的第 2 步中提供此网址。

方法 2. Jupyter 运行时

在本地机器上安装 Jupyter。新的笔记本服务器按正常方式启动,但您需要设置一个标志来明确表明信任来自 Colab 前端的 WebSocket 连接。

  jupyter notebook \
    --NotebookApp.allow_origin='https://colab.research.google.com' \
    --port=8888 \
    --NotebookApp.port_retries=0
    

服务器启动后,它将输出一条消息,其中包含验证身份用到的初始后端网址。请复制此网址,因为您需要在下面的第 2 步中提供此网址。

第 2 步:连接到本地运行时

在 Colab 中,点击“连接”按钮,然后选择“连接到本地运行时…”。在随即显示的对话框中输入上一步中的网址,然后点击“连接”按钮。完成此操作后,您应该就已经连接到本地运行时了。

针对特定浏览器的设置

注意:如果您使用 Mozilla Firefox,则需要在 Firefox 配置编辑器中指定 network.websocket.allowInsecureFromHTTPS 偏好设置。Colab 使用 WebSocket 连接到本地内核。默认情况下,Firefox 不允许使用标准 WebSocket 从 HTTPS 网域建立连接。

共享

如果您与其他人共享笔记本,则本地机器上的运行时将不会共享。当其他人打开共享的笔记本时,他们将默认连接到标准的 Colab 托管运行时。

默认情况下,所有代码单元格输出项都会存储在 Google 云端硬盘中。如果您的本地连接会访问敏感数据,并且您想要忽略代码单元格输出项,请依次选择“修改”>“笔记本设置”>“保存此笔记本时忽略代码单元格输出项”

连接到其他机器上的运行时

如果您要连接到的运行时在另一机器(例如 Google Compute Engine 实例)上运行,您可以设置 SSH 本地端口转发,允许 Colab 连接到该运行时。

首先,按照上述说明设置运行时。

然后,建立从本地计算机到远程实例(例如 Google Compute Engine 实例)的 SSH 连接,并指定“-L”标记。例如,要将本地计算机上的端口 8888 转发到 Google Compute Engine 实例上的端口 8888,请运行以下命令:

gcloud compute ssh --zone YOUR_ZONE YOUR_INSTANCE_NAME -- -L 8888:localhost:8888
    

最后,通过连接到转发端口在 Colab 内建立连接(按照“第 2 步:连接到本地运行时”的说明执行同样的操作)。