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.
Verwendung
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.
Verwendung
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 TPUs in der angegebenen Zone auf.
Verwendung
ctpu ls <flags>
Beispiel
ctpu ls --zone=us-central1-b

pause (zz)

Beschreibung

Beendet die Compute Engine-VM und löscht die Cloud TPU. Bis zum Ausführen von ctpu up wird die Cloud TPU-Nutzung nicht in Rechnung gestellt.

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
Liefert Informationen zur aktuellen Konfiguration der Cloud TPU mit Angaben zu Name, Projektname und Zone.
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. gcloud compute tpu start oder START verwenden auf der Compute Engine > Seite „TPUs“ in der Cloud Console wenn sich die TPU im Status ANGEHALTEN 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
Dient zum Konfigurieren der Root-Volume-Größe der Compute Engine-VM. Es sind nur Ganzzahlen zulässig. (Standard = 250)

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

--forward-agent
Aktiviert SSH Agent Forwarding, wenn per SSH auf die Compute Engine-VM zugegriffen wird. SSH Agent Forwarding ermöglicht den Zugriff auf gemeinsam genutzte Repositories (wie GitHub), ohne dafür private Schlüssel auf der Compute Engine-VM ablegen zu müssen. (Standard = 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
Überschreibt den Namen für VMs und Cloud-TPUs. (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
Ermöglicht die Festlegung der TensorFlow-Version, die beim Erstellen der Compute Engine-VM und der Cloud TPU verwendet wird. (Standard = aktueller stabiler Release)

--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
Ermöglicht die Verwendung von 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 an, welche Version von ctpu installiert ist.
Nutzung
ctpu version
Ausgabe
ctpu version
Output: ctpu version: 1.9