Documentation de référence sur CTPU

Aperçu

L'outil Open Source ctpu permet de créer un regroupement de ressources de calcul, qui se composent d'une VM Compute Engine et d'un ou plusieurs appareils Cloud TPU. L'outil est pré-installé dans votre environnement Cloud Shell.

La documentation et le code de l'outil ctpu sont accessibles sur GitHub.

L'outil ctpu utilise la syntaxe suivante :

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

Voici les sous-commandes de ctpu :

auth

Description
Définit ou affiche les autorisations pour les Cloud TPU.
Utilisation
ctpu auth <flags> <subcommand> <subcommand args>
Exemple
ctpu auth list --project="my-project" --zone=us-central1-a
ctpu auth list --project my-project --zone us-central1-a
Sous-commandes

La commande ctpu auth est compatible avec les sous-commandes suivantes :

  • add-bigtable - s'assure que Cloud TPU a les autorisations pour Cloud Bigtable
  • add-gcs - garantit que Cloud TPU a les autorisations pour Cloud Storage
  • list - affiche les autorisations du compte de service Cloud TPU
  • commands - liste tous les noms de commande
  • flags - décrit tous les indicateurs de niveau supérieur connus.
  • help - décrit les sous-commandes et leur syntaxe
Indicateurs facultatifs

Voici des commandes facultatives pour ctpu auth.name | project | zone

delete (rm)

Description
Supprime votre VM Compute Engine et votre Cloud TPU.
Utilisation
ctpu rm <flags>
Exemple
ctpu rm --zone=us-central1-b

help

Description
Répertorie toutes les sous-commandes de ctpu et les indicateurs de niveau supérieur.
Utilisation
ctpu help
ctpu help <subcommand>
Exemple
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`

liste (ls)

Description
Répertorie toutes les VM Compute Engine et les Cloud TPU dans la zone spécifiée.
Utilisation
ctpu ls <flags>
Exemple
ctpu ls --zone=us-central1-b

pause (zz)

Description

Arrête la VM Compute Engine et supprime votre Cloud TPU. Votre utilisation de Cloud TPU n'est plus facturée jusqu'à ce que vous exécutiez ctpu up.

Pour vous assurer que le Cloud TPU est arrêté, vous devez spécifier son nom et sa zone sur la ligne de commande.

Utilisation
ctpu pause <name, zone>
Exemple
ctpu pause --name=my-tpu --zone=us-central1-a  // pause the named TPU
in the specified zone
Description
Imprime à l'écran la configuration actuelle du nom du projet, de la zone et du nom du Cloud TPU.
Exemple
ctpu print-config

quota

Description
Affiche une URL vous permettant de voir les quotas.
Utilisation
ctpu quota
Exemple
ctpu quota
Output: Quotas cannot currently be displayed within ctpu.
To view your quota, open <url>
Request additional quota from <url>

restart

Description

Redémarre un Cloud TPU qui est encore EN COURS D'EXÉCUTION (état affiché dans ctpu status), mais qui s'est arrêté en raison d'un problème matériel. Utilisez gcloud compute tpu start ou le bouton DÉMARRER de la page Compute Engine > TPU dans Cloud Console si le TPU est à l'état ARRÊTÉ.

La commande restart ne permet pas de redémarrer un Cloud TPU préempté. Si votre Cloud TPU a été préempté, vous devez exécuter les commandes ctpu delete et ctpu up.

Utilisation
ctpu restart <flags>
Exemple
ctpu restart --zone=us-central1-a

status (st)

Description

Interrogez les API GCP (zone par défaut uniquement) pour déterminer l'état actuel de votre Cloud TPU et de votre VM Compute Engine.

Utilisation

ctpu st

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

tpu-locations

Description
Répertorie toutes les zones dans lesquelles les types de TPU sont disponibles.
Utilisation
ctpu tpu-locations
Résultat
Cloud TPU Locations:
    asia-east1-c
    europe-west4-a
    us-central1-a
    us-central1-b
    us-central1-c

tpu-sizes

Description
Répertorie toutes les tailles de TPU disponibles dans la zone spécifiée. Certaines tailles ne sont disponibles que dans certaines zones. (par défaut = zone par défaut)
Utilisation
tpu-sizes <zone>
Exemple
ctpu tpu-sizes --zone=us-central1-a

haut

Description

Affichez un ensemble de ressources ctpu. La première fois que vous exécutez ctpu upsur un projet, cela prend plus de temps que les exécutions futures, car l'outil doit effectuer des tâches telles que la propagation de la clé SSH et l'activation de l'API.

  • Elle active les services Compute Engine et Cloud TPU.
  • Elle crée une VM Compute Engine sur laquelle est préinstallée la dernière version stable de TensorFlow.
  • Elle attribue une zone par défaut, telle que us-central1-b, en fonction de votre emplacement.
  • Elle transmet le nom du Cloud TPU à la VM Compute Engine en tant que variable d'environnement (TPU_NAME).
  • Assurez-vous que votre Cloud TPU a accès aux ressources nécessaires de votre projet Google Cloud en attribuant des rôles IAM spécifiques à votre compte de service Cloud TPU.
  • Elle effectue un certain nombre d'autres vérifications.
  • Elle vous connecte à votre nouvelle VM Compute Engine. Votre invite de Cloud Shell affiche username@tpuname au lieu de username@project.

Vous pouvez exécuter ctpu up aussi souvent que vous le souhaitez. Par exemple, si vous perdez la connexion SSH à la VM Compute Engine, exécutez ctpu up pour rétablir la connexion. Vous devez spécifier une zone si votre VM Compute Engine ne se trouve pas dans la zone par défaut. Exemple :

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

--disk-size-gb
Configurez la taille du volume racine de votre VM Compute Engine. La valeur doit être un entier. (par défaut = 250)

--dry-run
Ne faites aucune modification ; n'imprimez que ce qui aurait pu arriver.

--forward-agent
Activez le transfert d'agent ssh lors de l'exécution de commandes ssh dans la VM Compute Engine. Le transfert d'agent ssh permet d'accéder aux dépôts partagés (tels que GitHub) sans avoir à placer de clés privées sur la VM Compute Engine. (par défaut = vrai)

--forward-ports
Transférez automatiquement les ports utiles depuis la VM Compute Engine vers votre machine locale. Les ports transférés sont : 6006 (tensorboard), 8888 (notebooks jupyter), 8470 (port TPU), 8466 (port de profileur TPU). (par défaut : vrai)

--gce-image
Ignorez l'image Compute Engine choisie automatiquement. Utilisez cet indicateur lorsque vous utilisez vos propres images personnalisées à la place de celles fournies avec le TensorFlow installé.

--gcp-network
Indiquez le réseau sur lequel le Cloud TPU et la VM associée doivent être créés. Pour plus d'informations sur les réseaux, consultez la section Présentation du réseau VPC (Virtual Private Cloud. (par défaut = réseau par défaut)

--log-http
Imprimez le contenu complet des paires requête-réponse http. Pour activer l'impression, définissez cet indicateur sur vrai. Utilisez cet indicateur lorsque vous avez besoin de la sortie du journal pour envoyer un rapport de bug sur ctpu. Pour plus d'informations, consultez le fichier ctpu README.

--machine-type
Configurez la taille de votre VM Compute Engine. La liste complète des types de machines est disponible sur la page Types de machines Cloud. (par défaut = n1-standard-2)

--name
Ignorez le nom à utiliser pour les VM et le Cloud TPU. (par défaut = votre nom d'utilisateur)

--noconf
Passez la confirmation.

--preemptible
Créez un nœud Cloud TPU préemptif. Un Cloud TPU préemptif coûte moins cher par heure qu'une unité non préemptive. Le service Cloud TPU peut quitter un appareil préemptif à tout moment. (par défaut = non préemptif)

--preemptible-vm
Créez une VM Compute Engine préemptive. Une VM préemptive coûte moins cher par heure qu'une VM non préemptive. Le service Compute Engine peut quitter l'instance de VM à tout moment. (par défaut = non préemptif)

--print-welcome
Imprimez toujours le message de bienvenue.

--project
Ignorez le nom du projet GCP à utiliser lors de l'allocation de VM et de TPU. Spécifiez une valeur à partir des métadonnées cloud config ou Compute Engine, généralement le nom de votre projet. Si vous ne parvenez pas à trouver une bonne valeur, vous devez fournir une valeur sur la ligne de commande.

--tf-version
Définissez la version de TensorFlow à utiliser lors de la création de la VM Compute Engine et du Cloud TPU. (par défaut = dernière version stable)

--tpu-only
N'allouez qu'un Cloud TPU ; ne l'utilisez que si une VM est déjà disponible.

--tpu-size
Configurez la taille et la version matérielle d'un Cloud TPU.

--use-dl-images
Utilisez des images de VM Deep Learning (reportez-vous à la documentation : https://cloud.google.com/deep-learning-vm/) à la place des images de machine TPU. (par défaut = images de la machine TPU)

--vm-only
N'allouez qu'une VM ; utilisez-la lorsque vous n'êtes pas prêt à configurer un TPU ni à payer pour cela.

--zone
Ignorez la zone Compute Engine à utiliser lors de l'allocation de VM et de Cloud TPU. Sur la ligne de commande, exécutez ctpu help up pour afficher la liste.

version

Description
Imprime la version de ctpu installée.
Utilisation
ctpu version
Résultat
ctpu version
Output: ctpu version: 1.9