In dieser Anleitung erfahren Sie, wie Sie das ResNet-50-Modell auf einem Cloud TPU-Gerät mit PyTorch trainieren. Sie können dasselbe Muster auf andere TPU-optimierte Bildklassifikationsmodelle anwenden, die PyTorch und das ImageNet-Dataset verwenden.
Das Modell in dieser Anleitung basiert auf dem Framework Deep Residual Learning for Image Recognition, in dem erstmalig die Residualnetzwerkarchitektur (ResNet-Architektur) eingeführt wurde. In der Anleitung wird die 50-Layer-Variante ResNet-50 verwendet und das Training des Modells mit PyTorch/XLA veranschaulicht.
Ziele
- Bereiten Sie das Dataset vor.
- Trainingsjob ausführen
- Ausgabeergebnisse überprüfen
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
- Compute Engine
- Cloud TPU
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Hinweis
Bevor Sie mit dieser Anleitung beginnen, prüfen Sie, ob Ihr Google Cloud Projekt richtig eingerichtet ist.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
In dieser Schritt-für-Schritt-Anleitung werden kostenpflichtige Komponenten von Google Cloudverwendet. Anhand der Seite mit den Cloud TPU-Preisen können Sie Ihre Kosten abschätzen. Denken Sie daran, nicht mehr benötigte Ressourcen zu bereinigen, um unnötige Kosten zu vermeiden.
TPU-VM erstellen
Öffnen Sie ein Cloud Shell-Fenster.
TPU-VM erstellen
gcloud compute tpus tpu-vm create your-tpu-name \ --accelerator-type=v3-8 \ --version=tpu-ubuntu2204-base \ --zone=us-central1-a \ --project=your-project
Stellen Sie eine SSH-Verbindung zu Ihrer WordPress-VM her.
gcloud compute tpus tpu-vm ssh your-tpu-name --zone=us-central1-a
Installieren Sie PyTorch/XLA auf Ihrer TPU-VM:
(vm)$ pip install torch torch_xla[tpu] torchvision -f https://storage.googleapis.com/libtpu-releases/index.html -f https://storage.googleapis.com/libtpu-wheels/index.html
Klonen Sie das PyTorch/XLA-GitHub-Repository.
(vm)$ git clone --depth=1 https://github.com/pytorch/xla.git
Führen Sie das Trainings-Script mit fiktiven Daten aus.
(vm) $ PJRT_DEVICE=TPU python3 xla/test/test_train_mp_imagenet.py --fake_data --batch_size=256 --num_epochs=1
Bereinigen
Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, können Sie entweder das Projekt löschen, das die Ressourcen enthält, oder das Projekt beibehalten und die einzelnen Ressourcen löschen.
Trennen Sie die Verbindung zur TPU-VM:
(vm) $ exit
In der Eingabeaufforderung sollte nun
username@projectname
angezeigt werden, was bedeutet, dass Sie sich in der Cloud Shell befinden.Löschen Sie Ihre TPU-VM.
$ gcloud compute tpus tpu-vm delete your-tpu-name \ --zone=us-central1-a
Nächste Schritte
- Informationen zum Trainieren von Diffusionsmodellen mit PyTorch
- Fehlerbehebung bei PyTorch – TPU
- Dokumentation zu PyTorch/XLA