Colaboratory

本機執行階段

你可以透過 Colab 連線至本機執行階段,在本機硬體上執行程式碼。

安全性考量

在執行任何筆記本前,請確認你信任作者。使用本機連線時,你所執行的程式碼可以讀取、寫入及刪除你電腦上的檔案。

連線到本機電腦上的執行階段有許多優點,但這麼做可能帶來嚴重的潛在風險。連線到本機執行階段後,Colab 前端就能使用你電腦上的本機資源執行筆記本中的程式碼。 這表示筆記本得以:

在你試著連線到本機執行階段前,請先確認你信任筆記本的作者,並瞭解要執行的程式碼。如要進一步瞭解 Jupyter 筆記本伺服器的安全性模型,請參閱 Jupyter 說明文件

設定操作說明

步驟 1:啟動執行階段

你可以直接執行 Jupyter 或使用 Colab 的 Docker 映像檔。Docker 映像檔內含 Google 代管執行階段環境 (https://colab.research.google.com) 中的套件,而且會啟用部分 UI 功能,例如偵錯和資源使用率監控程式。不過,預設無法使用本機電腦中安裝的套件 (一般是檔案)。Docker 映像檔專供 linux/amd64 平台使用。

選項 1. Colab Docker 執行階段映像檔

在本機電腦上安裝 Docker。請注意,europe-docker.pkg.devasia-docker.pkg.devus-docker.pkg.dev 的替代鏡像網站。這些國家/地區的使用者能夠以更快的速度下載相同的映像檔。啟動執行階段:

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

如需 GPU 支援且已安裝 NVIDIA 驅動程式NVIDIA container toolkit,請使用:

        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 不允許來自 HTTPS 網域且使用標準 WebSocket 的連線。

共用

如果你與其他人共用筆記本,本機電腦上的執行階段不會一起共用。根據預設,其他人開啟共用的筆記本時,會連線到標準 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:連線到本機執行階段」中的操作說明)。