CTPU-Referenz

Überblick

Das Open-Source-Tool ctpu dient dazu, Compute-Ressourcen in sogenannten Flocks zusammenzufassen, die aus einer Compute Engine-VM und einem oder mehreren Cloud TPU-Geräten bestehen. Das Tool ist in Ihrer Cloud-Shell vorinstalliert.

Eine Dokumentation und Code für ctpu finden Sie auf GitHub.

Das ctpu-Tool verwendet die folgende Syntax:

ctpu <subcommand> <flags> <subcommand> <subcommand args> 

Es folgen die Unterbefehle für ctpu:

auth

Beschreibung
Berechtigungen für Cloud-TPUs festlegen und anzeigen.
Nutzung
ctpu auth <flags> <subcommand> <subcommand args>
Beispiel
ctpu auth list --project="my-project" --zone=us-central1-a
ctpu auth list --project my-project --zone us-central1-a
Unterbefehle

Der Befehl ctpu auth unterstützt die folgenden Unterbefehle:

  • add-bigtable – autorisiert die Cloud TPU für Cloud Bigtable
  • add-gcs – autorisiert die Cloud TPU für Cloud Storage
  • list – zeigt die Autorisierungen des Cloud TPU-Dienstkontos an
  • commands – listet alle Befehle mit Namen auf
  • flags – listet alle bekannten Top-Level-Flags auf
  • help – listet Unterbefehle mit ihrer Syntax auf
Optionale Flags

Für ctpu auth stehen die folgenden optionalen Befehle zur Verfügung: name | project | zone

delete (rm)

Beschreibung
Die Compute Engine-VM und die Cloud TPU löschen.
Nutzung
ctpu rm <flags>
Beispiel
ctpu rm --zone=us-central1-b

help

Beschreibung
Listet alle Unterbefehle und Top-Level-Flags von ctpu auf.
Nutzung
ctpu help
ctpu help <subcommand>
Beispiel
ctpu help   // list all ctpu subcommands and top level flags

ctpu help auth   // list all flags that can be used with `ctpu auth`
ctpu help up   // list all flags that can be used with `ctpu up`

list (ls)

Beschreibung
Listet alle Compute Engine-VMs und Cloud TPU in der angegebenen Zone auf.
Nutzung
ctpu ls <flags>
Beispiel
ctpu ls --zone=us-central1-b

pause (zz)

Beschreibung

Beenden Sie die Compute Engine-VM und löschen Sie Ihre Cloud TPU. Keine weiteren Gebühren für die Cloud TPU-Nutzung, bis Sie ctpu up ausführen.

Damit die Cloud TPU wirklich angehalten wird, müssen Sie in der Befehlszeile den Cloud TPU-Namen und die Zone angeben.

Nutzung
ctpu pause <name, zone>
Beispiel
ctpu pause --name=my-tpu --zone=us-central1-a  // pause the named TPU
in the specified zone
Beschreibung
Zeigt die aktuelle Konfiguration der Cloud TPU den Namen, den Projektnamen und die Zone an.
Beispiel
ctpu print-config

quota

Beschreibung
Zeigt eine URL an, unter der Sie die Kontingente einsehen können.
Verwendung
ctpu quota
Beispiel
ctpu quota
Output: Quotas cannot currently be displayed within ctpu.
To view your quota, open <url>
Request additional quota from <url>

restart

Beschreibung

Startet eine Cloud TPU neu, die sich noch im Status RUNNING befindet (angezeigt unter ctpu status), aber aufgrund eines Hardwareproblems nicht mehr ausgeführt wird. Verwenden Sie gcloud compute tpu start oder die Schaltfläche START auf der Seite Compute Engine > TPUs in der Cloud Console, wenn sich die TPU im Status STOPPED befindet.

Mit restart wird eine vorzeitig beendete Cloud TPU nicht neu gestartet. Sie müssen ctpu delete und ctpu up ausführen, wenn Ihre Cloud TPU vorzeitig beendet wurde.

Nutzung
ctpu restart <flags>
Beispiel
ctpu restart --zone=us-central1-a

status (st)

Beschreibung

Fragt die GCP APIs (nur Standardzone) ab, um den aktuellen Status der Cloud TPU und Compute Engine-VM zu ermitteln.

Nutzung

ctpu st

Beispiel
ctpu st --zone=us-central1-a
Status message:
  Your cluster is running!
    Compute Engine VM:  RUNNING
    Cloud TPU:     RUNNING 

tpu-locations

Beschreibung
Listet alle Zonen auf, in denen TPU-Typen verfügbar sind.
Nutzung
ctpu tpu-locations
Ausgabe
Cloud TPU Locations:
    asia-east1-c
    europe-west4-a
    us-central1-a
    us-central1-b
    us-central1-c

tpu-sizes

Beschreibung
Listet alle verfügbaren TPU-Größen in der angegebenen Zone auf. Einige Größen sind nur in bestimmten Zonen verfügbar. (Standard = Standardzone)
Nutzung
tpu-sizes <zone>
Beispiel
ctpu tpu-sizes --zone=us-central1-a

up

Beschreibung

Aktiviert einen ctpu-Ressourcensatz. Das erstmalige Ausführen von ctpu up für ein Projekt dauert länger als gewöhnlich, weil zusätzliche Aufgaben wie die SSH-Schlüsselweitergabe und die API-Aktivierung ausgeführt werden.

  • Compute Engine- und Cloud TPU-Dienste aktivieren.
  • Erstellt eine Compute Engine-VM, bei der die aktuelle stabile TensorFlow-Version vorinstalliert ist.
  • Weist basierend auf Ihrem Standort eine Standardzone zu, zum Beispiel us-central1-b.
  • Übergibt den Namen der Cloud TPU als Umgebungsvariable (TPU_NAME) an die Compute Engine-VM.
  • Stellt sicher, dass Ihre Cloud TPU Zugriff auf die benötigten Ressourcen aus Ihrem Google Cloud-Projekt hat, indem Ihrem Cloud TPU-Dienstkonto bestimmte IAM-Rollen zugewiesen werden.
  • Verschiedene andere Prüfungen durchführen.
  • Meldet Sie bei der neuen Compute Engine-VM an. In der Shell-Eingabeaufforderung ändert sich username@project in username@tpuname.

Sie können ctpu up so oft ausführen, wie Sie möchten. Wenn beispielsweise die SSH-Verbindung zur Compute Engine-VM-Instanz unterbrochen wird, führen Sie ctpu up aus, um sie wiederherzustellen. Wenn sich Ihre Compute Engine nicht in der Standardzone befindet, müssen Sie eine Zone angeben. Beispiel:

$ ctpu up --zone=us-central1-a
Verwendung
ctpu up <flags>
Beispiel
ctpu up --tpu-size=v2-8 --disk-size-gb=320 --preemptible
Flags

--disk-size-gb
Konfigurieren Sie die Größe des Root-Volumes Ihrer Compute Engine-VM. Wert muss eine Ganzzahl sein. (Standard = 250)

--dry-run
Nehmen Sie keine Änderungen vor. Die Ausgabe zeigt an, was geschehen wäre.

--forward-agent
Aktivieren Sie die SSH-Agent-Weiterleitung, wenn eine SSH-Verbindung zur Compute Engine-VM hergestellt wird. SSH-Agent-Weiterleitung ermöglicht den Zugriff auf freigegebene Repositories (z. B. GitHub), ohne private Schlüssel auf der Compute Engine-VM platzieren zu müssen. (Standardeinstellung = true)

--forward-ports
Leitet benötigte Ports automatisch von der Compute Engine-VM auf die lokale Maschine um. Weitergeleitet werden: 6006 (Tensorboard), 8888 (Jupyter-Notebooks), 8470 (TPU-Port), 8466 (TPU-Profiler-Port). (Standardeinstellung = true)

--gce-image
Überschreibt das automatisch ausgewählte Compute Engine-Image. Verwenden Sie dieses Flag, wenn Sie anstelle der mit TensorFlow installierten Images eigene Images verwenden möchten.

--gcp-network
Gibt das Netzwerk an, in dem die Cloud-TPU und die zugehörige VM erstellt werden sollen. Weitere Informationen zu Netzwerken finden sie unter Virtual Private Cloud(VPC)-Netzwerk – Übersicht. (Standard = Standardnetzwerk)

--log-http
Gibt den gesamten Inhalt der HTTP-Anfrage-Antwort-Paare aus. Setzen Sie das Flag auf true, um die Ausgabe zu aktivieren. Verwenden Sie dieses Flag, wenn Sie eine Logausgabe benötigen, um einen Fehlerbericht für ctpu zu erstellen. Weitere Informationen finden Sie in der Datei README zu ctpu.

--machine-type
Dient zur Konfiguration der Größe Ihrer Compute Engine-VM. Eine vollständige Liste der Maschinentypen finden Sie auf der Seite Cloud-Maschinentypen. (Standard = n1-standard-2)

--name
Überschreiben Sie den Namen, der für VMs und Cloud TPU verwendet werden soll. (Standard = Ihr Nutzername)

--noconf
Bestätigung überspringen.

--preemptible
Erstellt einen Cloud TPU-Knoten auf Abruf. Eine Cloud TPU auf Abruf kostet pro Stunde weniger als eine nicht auf Abruf verfügbare. Der Cloud TPU-Dienst kann vorzeitig beendbare Geräte jederzeit beenden. (Standard = nicht auf Abruf)

--preemptible-vm
Erstellt eine Compute Engine-VM auf Abruf. Eine VM auf Abruf kostet pro Stunde weniger als eine nicht auf Abruf verfügbare VM. Der Compute Engine-Dienst kann die VM-Instanz jederzeit beenden. (Standard = nicht auf Abruf)

--print-welcome
Die Willkommensnachricht immer ausgeben.

--project
Überschreibt den GCP-Projektnamen, der bei der Zuteilung von VMs und TPUs verwendet wird. Geben Sie einen Wert aus der cloud-config oder den Metadaten der Compute Engine an, normalerweise ist das der Projektname. Wenn es dort keinen geeigneten Wert gibt, müssen Sie in der Befehlszeile einen Wert angeben.

--tf-version
Legen Sie die Version von TensorFlow fest, die beim Erstellen der Compute Engine-VM und der Cloud TPU verwendet werden soll. (Standard = neueste stabile Version)

--tpu-only
Nur die Cloud TPU wird zugeteilt. Verwenden Sie dieses Flag nur, wenn Sie bereits über eine VM verfügen.

--tpu-size
Ermöglicht die Dimensionierung und Festlegung der Hardwareversion einer Cloud TPU.

--use-dl-images
Verwenden Sie Deep Learning-VM-Images (siehe https://cloud.google.com/deep-learning-vm/) anstelle von TPU-Maschinen-Images. (Standard = TPU-Maschinen-Images)

--vm-only
Es wird nur eine VM zugewiesen. Verwenden Sie dieses Flag, wenn Sie keine TPU einrichten und auch nicht für diese bezahlen möchten.

--zone
Überschreibt die Compute Engine-Zone, die beim Zuweisen von VMs und Cloud TPU verwendet wird. Führen Sie in der Befehlszeile ctpu help up aus, um die Liste aufzurufen.

version

Beschreibung
Zeigt die installierte Version von ctpu an.
Nutzung
ctpu version
Ausgabe
ctpu version
Output: ctpu version: 1.9