捷徑

設定開發環境

本指南的目標是在 Cloud TPU 上設定安裝 PyTorch/XLA 的互動式開發環境。如果您是第一次使用 TPU,我們建議您從 ColabKaggle 開始。這兩個選項都預先安裝了 PyTorch/XLA 以及相依性和生態系統套件。如需最新的範例列表,請參閱我們主要的 README

如果您想設定更客製化的開發環境,請繼續閱讀。

Visual Studio Code

先決條件

在開始之前,匯出具有您擁有 Cloud TPU 配額的 GCP 專案和區域的環境變數

export PROJECT=...
export ZONE=...
export TPU_TYPE=... # e.g. "v2-8"

建立並連接到您的 TPU

建立已註冊 SSH 金鑰的 Cloud TPU VM

# Assuming your SSH key is named `id_ed25519`
gcloud compute tpus tpu-vm create --project=$PROJECT --zone=$ZONE --accelerator-type=$TPU_TYPE --version=tpu-ubuntu2204-base --metadata="ssh-keys=$USER:$(cat ~/.ssh/id_ed25519.pub)" $USER-tpu

檢查您的 TPU 是否具有外部 IP 並 SSH 連接到它

gcloud compute tpus tpu-vm describe --project=$PROJECT --zone=$ZONE $USER-tpu --format="value(networkEndpoints.accessConfig.externalIp)"
# Output: 123.123.123.123

為您的 TPU 提供一個友善的名稱,以簡化未來的步驟

echo -e Host $USER-tpu "\n " HostName $(gcloud compute tpus tpu-vm describe --project=$PROJECT --zone=$ZONE $USER-tpu --format="value(networkEndpoints.accessConfig.externalIp)") >> ~/.ssh/config

SSH 連接到您的 TPU 以測試連線

ssh $USER-tpu

設定具有 PyTorch/XLA 的 Visual Studio Code 工作區

VS Code 命令面板,選擇 `Remote-SSH: Connect to Host <https://vscode.dev.org.tw/docs/remote/ssh&gt;[__ 並選擇您剛建立的主機 (名為 ]{.title-ref}[$USER-tpu]{.title-ref}`)。VS Code 接著會開啟一個新視窗,連接到您的 TPU VM。

從內建的 Terminal,建立一個新資料夾以用作工作區 (例如 mkdir ptxla)。然後從 UI 或命令面板開啟資料夾。

注意:此時安裝官方 Python 擴充功能 並透過命令面板 (Python: Create Environment) 建立 venv 虛擬環境 是選用的 (但建議)。

安裝最新的 PyTorch 和 PyTorch/XLA 版本

pip install numpy torch torch_xla[tpu] \
  -f https://storage.googleapis.com/libtpu-wheels/index.html \
  -f https://storage.googleapis.com/libtpu-releases/index.html

建立一個 test.py 檔案

import torch_xla as xla

# Optional
xla.runtime.set_device_type("TPU")

print("XLA devices:", xla.real_devices())

從您的終端機執行測試腳本

$ python test.py
# Output: XLA devices: ['TPU:0', 'TPU:1', 'TPU:2', 'TPU:3', 'TPU:4', 'TPU:5', 'TPU:6', 'TPU:7']
# Number of devices will vary based on TPU type

後續步驟

就是這樣!您現在應該已設定好安裝 PyTorch/XLA 的遠端 Visual Studio Code 工作區。如需執行更實際的範例,請參閱我們的範例指南

文件

存取 PyTorch 的完整開發者文件

查看文件

教學

為初學者和進階開發人員取得深入教學

查看教學

資源

尋找開發資源並獲得問題解答

查看資源