Addestramento ResNet su Cloud TPU (TF 2.x)

Questo tutorial mostra come addestrare un modello Keras ResNet su Cloud TPU utilizzando tf.distribute.TPUStrategy.

Se non hai dimestichezza con Cloud TPU, ti consigliamo vivamente di consultare la guida rapida per il framework per scoprire come creare una TPU e una VM di Compute Engine.

Obiettivi

  • Crea un bucket Cloud Storage per contenere l'output del set di dati e il modello.
  • Prepara un set di dati immaginenet falso simile al set di dati ImageNet.
  • Esegui il job di addestramento.
  • Verifica i risultati dell'output.

Costi

Questo tutorial utilizza i seguenti componenti fatturabili di Google Cloud:

  • Compute Engine
  • Cloud TPU
  • Cloud Storage

Per generare una stima dei costi in base all'utilizzo previsto, utilizza il Calcolatore prezzi. I nuovi utenti di Google Cloud possono beneficiare di una prova gratuita.

Prima di iniziare

Prima di iniziare questo tutorial, verifica che il tuo progetto Google Cloud sia configurato correttamente.

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.

  4. Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  5. Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.

  6. Questa procedura dettagliata utilizza componenti fatturabili di Google Cloud. Consulta la pagina Prezzi di Cloud TPU per una stima dei costi. Assicurati di pulire le risorse che crei quando hai finito di utilizzarle per evitare addebiti inutili.

Addestramento dispositivo Cloud TPU singolo

Questa sezione fornisce informazioni sulla configurazione delle bucket Cloud Storage, delle VM e delle risorse Cloud TPU per l'addestramento di singoli dispositivi.

  1. Apri una finestra di Cloud Shell.

    Apri Cloud Shell

  2. Crea una variabile per l'ID del tuo progetto.

    $ export PROJECT_ID=project-id
    
  3. Configura l'interfaccia a riga di comando di Google Cloud per utilizzare il progetto in cui vuoi creare Cloud TPU.

    $ gcloud config set project ${PROJECT_ID}
    

    La prima volta che esegui questo comando in una nuova VM di Cloud Shell, viene visualizzata una pagina Authorize Cloud Shell. Fai clic su Authorize in fondo alla pagina per consentire a gcloud di effettuare chiamate API GCP con le tue credenziali.

  4. Crea un account di servizio per il progetto Cloud TPU.

    Gli account di servizio consentono al servizio Cloud TPU di accedere ad altri servizi di Google Cloud Platform.

    $ gcloud beta services identity create --service tpu.googleapis.com --project $PROJECT_ID
    

    Il comando restituisce un account di servizio Cloud TPU con il formato seguente:

    service-PROJECT_NUMBER@cloud-tpu.iam.gserviceaccount.com
    

  5. Crea un bucket Cloud Storage utilizzando il seguente comando:

    $ gsutil mb -p ${PROJECT_ID} -c standard -l europe-west4 gs://bucket-name
    

    Questo bucket Cloud Storage archivia i dati che utilizzi per addestrare il modello e i risultati dell'addestramento. Il comando gcloud utilizzato in questo tutorial per configurare la TPU configura anche le autorizzazioni predefinite per l'account di servizio Cloud TPU configurato nel passaggio precedente. Se vuoi autorizzazioni più granulari, consulta le autorizzazioni per il livello di accesso.

  6. Prepara il tuo set di dati o utilizza fake_imagenet

    ImageNet è un database di immagini. Le immagini nel database sono organizzate in una gerarchia, con ogni nodo della gerarchia rappresentato da centinaia e migliaia di immagini.

    Questo tutorial utilizza una versione dimostrativa del set di dati ImageNet completo, denominato fake_imagenet. Questa versione dimostrativa consente di testare il tutorial, riducendo al contempo i requisiti di archiviazione e tempo di solito associati all'esecuzione di un modello rispetto al database ImageNet completo.

    Il set di dati falsi_imagenet si trova in questa posizione su Cloud Storage:

    gs://cloud-tpu-test-datasets/fake_imagenet

    Il set di dati falsi_imagenet è utile solo per capire come utilizzare una Cloud TPU e convalidare le prestazioni end-to-end. I valori relativi alla precisione e il modello salvato non saranno significativi.

    Se vuoi utilizzare il set di dati ImageNet completo, consulta Download, pre-elaborazione e caricamento del set di dati ImageNet.

  7. Avvia le risorse TPU utilizzando il comando gcloud. Il comando da utilizzare varia a seconda che tu stia utilizzando VM TPU o nodi TPU. Per ulteriori informazioni sulla due architetture VM, consulta la sezione Architettura di sistema.

    VM TPU

    $ gcloud alpha compute tpus tpu-vm create resnet-tutorial \
    --zone=europe-west4-a \
    --accelerator-type=v3-8 \
    --version=tpu-vm-tf-2.9.1
    

    Descrizioni flag comando

    zone
    La zona in cui prevedi di creare Cloud TPU.
    accelerator-type
    Il tipo di Cloud TPU da creare.
    version
    La versione del software Cloud TPU.

    Nodo TPU

    gcloud compute tpus execution-groups create \
    --project=${PROJECT_ID} \
    --zone=europe-west4-a \
    --name=resnet-tutorial \
    --disk-size=300 \
    --machine-type=n1-standard-16 \
    --accelerator-type=v3-8 \
    --tf-version=2.8.0

    Descrizioni flag comando

    project
    ID progetto GCP
    zone
    La zona in cui prevedi di creare Cloud TPU.
    name
    Il nome della Cloud TPU da creare.
    disk-size
    Le dimensioni del disco rigido in GB della VM creata dal comando gcloud.
    machine-type
    Il tipo di macchina della VM di Compute Engine da creare.
    accelerator-type
    Il tipo di Cloud TPU da creare.
    tf-version
    La versione di Tensorflow gcloud viene installata sulla VM.

    Per maggiori informazioni sul comando gcloud, consulta la guida di riferimento di gcloud.

  8. Se non hai eseguito automaticamente l'accesso all'istanza Compute Engine, esegui l'accesso eseguendo questo comando ssh. Dopo aver eseguito l'accesso alla VM, il prompt di shell cambia da username@projectname a username@vm-name:

    VM TPU

    $ gcloud alpha compute tpus tpu-vm ssh resnet-tutorial --zone=europe-west4-a
    

    Nodo TPU

    $ gcloud compute ssh resnet-tutorial --zone=europe-west4-a
    

    Mentre procedi con queste istruzioni, esegui ogni comando che inizia con (vm)$ nella finestra della sessione VM.

  9. Imposta la variabile del nome Cloud TPU.

    VM TPU

    (vm)$ export TPU_NAME=local
    

    Nodo TPU

    (vm)$ export TPU_NAME=resnet-tutorial
    
  10. Imposta le variabili del bucket Cloud Storage

    Configura le seguenti variabili di ambiente, sostituendo bucket-name con il nome del tuo bucket Cloud Storage:

    (vm)$ export STORAGE_BUCKET=gs://bucket-name
    
    (vm)$ export MODEL_DIR=${STORAGE_BUCKET}/resnet-2x
    (vm)$ export DATA_DIR=gs://cloud-tpu-test-datasets/fake_imagenet
    
    

    L'applicazione di addestramento si aspetta che i tuoi dati di addestramento siano accessibili in Cloud Storage. L'applicazione di addestramento utilizza anche il tuo bucket Cloud Storage per archiviare i punti di controllo durante l'addestramento.

  11. Installa i requisiti di TensorFlow.

    Il comando che utilizzi dipende dall'uso o meno delle VM TPU o dei nodi TPU.

    VM TPU

    (vm)$ pip3 install -r /usr/share/tpu/models/official/requirements.txt 

    Nodo TPU

    (vm)$ pip3 install --user -r /usr/share/models/official/requirements.txt
    
  12. Lo script di addestramento ResNet richiede un pacchetto aggiuntivo. Installala ora:

    (vm)$ pip3 install --user tensorflow-model-optimization>=0.1.3
    
  13. Passa alla directory in cui è memorizzato il modello:

    VM TPU

    (vm)$ cd /usr/share/tpu/models
    

    Nodo TPU

    (vm)$ cd /usr/share/models
    
  14. Imposta la variabile di ambiente PYTHONPATH:

    VM TPU

    (vm)$ export PYTHONPATH="/usr/share/tpu/models:${PYTHONPATH}"
    

    Nodo TPU

    (vm)$ export PYTHONPATH="${PYTHONPATH}:/usr/share/models"
    
  15. Esegui lo script di addestramento. Utilizza un set di dati falsi_imagenet e addestra ResNet per 100 passi.

    (vm)$ python3 official/vision/train.py \
    --tpu=${TPU_NAME} \
    --experiment=resnet_imagenet \
    --mode=train_and_eval \
    --config_file=official/vision/configs/experiments/image_classification/imagenet_resnet50_tpu.yaml \
    --model_dir=${MODEL_DIR} \
    --params_override="task.train_data.input_path=${DATA_DIR}/train*, task.validation_data.input_path=${DATA_DIR}/validation*,task.train_data.global_batch_size=2048,task.validation_data.global_batch_size=2048,trainer.train_steps=100"
    

    Descrizioni flag comando

    tpu
    Il nome della tua TPU.
    model_dir
    Specifica la directory in cui vengono archiviati i checkpoint e i riepiloghi durante l'addestramento del modello. Se la cartella non è presente, il programma ne crea una. Quando utilizzi una Cloud TPU, model_dir deve essere un percorso Cloud Storage (gs://...). Puoi riutilizzare una cartella esistente per caricare i dati del posto di controllo corrente e archiviare punti di controllo aggiuntivi purché i punti di controllo precedenti siano stati creati utilizzando una TPU con le stesse dimensioni e la stessa versione di TensorFlow.

Addestra ResNet per 100 passi e viene completato su un nodo TPU v3-8 in circa 3 minuti. Al termine dei 100 passaggi, viene visualizzato un output simile al seguente:

I0624 17:04:26.974905 140457742666816 controller.py:290]  eval | step:    100 | eval time:   23.3 sec | output:
    {'accuracy': 0.0010141226,
     'top_5_accuracy': 0.0051457332,
     'validation_loss': 8.448798}
 eval | step:    100 | eval time:   23.3 sec | output:
    {'accuracy': 0.0010141226,
     'top_5_accuracy': 0.0051457332,
     'validation_loss': 8.448798}

Hai completato l'esempio di addestramento su un solo dispositivo. Per eliminare le attuali risorse TPU destinate a un singolo dispositivo, procedi nel seguente modo.

  1. Disconnetti dall'istanza Compute Engine:

    (vm)$ exit
    

    Il tuo prompt dovrebbe ora essere username@projectname, a indicare che ti trovi in Cloud Shell.

  2. Elimina la risorsa TPU.

    VM TPU

    $ gcloud alpha compute tpus tpu-vm delete resnet-tutorial \
    --zone=europe-west4-a
    

    Descrizioni flag comando

    zone
    La zona in cui si trovava la tua Cloud TPU.

    Nodo TPU

    $ gcloud compute tpus execution-groups delete resnet-tutorial \
    --zone=europe-west4-a
    

    Descrizioni flag comando

    zone
    La zona che contiene la TPU da eliminare.

A questo punto, puoi concludere questo tutorial e ripulire oppure continuare ed esplorare il modello sui pod di Cloud TPU.

Scalabilità del modello con i pod Cloud TPU

L'addestramento del tuo modello su pod {product_name_short}} potrebbe richiedere alcune modifiche allo script di addestramento. Per informazioni, consulta la pagina relativa all'addestramento sui pod di TPU.

Addestramento pod TPU

Questa sezione fornisce informazioni sulla configurazione di un bucket Cloud Storage e delle risorse Cloud TPU per l'addestramento dei pod.

  1. Apri una finestra di Cloud Shell.

    Apri Cloud Shell

  2. Crea una variabile per l'ID del tuo progetto.

    export PROJECT_ID=project-id
    
  3. Configura l'interfaccia a riga di comando di Google Cloud per utilizzare il progetto in cui vuoi creare Cloud TPU.

    gcloud config set project ${PROJECT_ID}
    

    La prima volta che esegui questo comando in una nuova VM di Cloud Shell, viene visualizzata una pagina Authorize Cloud Shell. Fai clic su Authorize in fondo alla pagina per consentire a gcloud di effettuare chiamate API GCP con le tue credenziali.

  4. Crea un account di servizio per il progetto Cloud TPU.

    gcloud beta services identity create --service tpu.googleapis.com --project $PROJECT_ID
    

    Il comando restituisce un account di servizio Cloud TPU con il formato seguente:

    service-PROJECT_NUMBER@cloud-tpu.iam.gserviceaccount.com
    

  5. Crea un bucket Cloud Storage utilizzando il comando seguente, oppure utilizza un bucket che hai creato in precedenza per il tuo progetto:

    gsutil mb -p ${PROJECT_ID} -c standard -l europe-west4 gs://bucket-name
    

    Questo bucket Cloud Storage archivia i dati che utilizzi per addestrare il modello e i risultati dell'addestramento. Il comando gcloud utilizzato in questo tutorial configura le autorizzazioni predefinite per l'account di servizio Cloud TPU configurato nel passaggio precedente. Se vuoi autorizzazioni più granulari, consulta le autorizzazioni per il livello di accesso.

    La località del bucket deve essere nella stessa area geografica della VM TPU.

  6. Prepara il tuo set di dati o utilizza fake_imagenet

    ImageNet è un database di immagini. Le immagini nel database sono organizzate in una gerarchia, con ogni nodo della gerarchia rappresentato da centinaia e migliaia di immagini.

    Il corso predefinito per l'addestramento dei pod accede a una versione dimostrativa del set di dati completo di ImageNet, denominato fake_imagenet. Questa versione di prova consente di testare l'addestramento del pod, riducendo al contempo i requisiti di archiviazione e tempo solitamente associati all'addestramento di un modello rispetto al database ImageNet completo.

    Il set di dati falsi_imagenet è utile solo per capire come utilizzare una Cloud TPU e convalidare le prestazioni end-to-end. I valori relativi alla precisione e il modello salvato non saranno significativi.

    Se vuoi utilizzare il set di dati ImageNet completo, consulta Download, pre-elaborazione e caricamento del set di dati ImageNet.

  7. Avvia le risorse Cloud TPU utilizzando il comando gcloud.

    Il comando che utilizzi dipende dall'utilizzo o meno di una VM TPU o di un nodo TPU. Per ulteriori informazioni sulla due architetture VM, consulta la sezione Architettura di sistema. Per maggiori informazioni sul comando gcloud, consulta la guida di riferimento di gcloud. Questo tutorial specifica un pod v3-32. Per altre opzioni pod, consulta la pagina dei tipi di TPU disponibili.

    VM TPU

    $ gcloud alpha compute tpus tpu-vm create resnet-tutorial \
    --zone=europe-west4-a \
    --accelerator-type=v3-32 \
    --version=tpu-vm-tf-2.9.1-pod
    

    Descrizioni flag comando

    zone
    La zona in cui prevedi di creare Cloud TPU.
    accelerator-type
    Il tipo di Cloud TPU da creare.
    version
    La versione del software Cloud TPU.

    Nodo TPU

    $ gcloud compute tpus execution-groups create \
    --zone=europe-west4-a \
    --name=resnet-tutorial \
    --accelerator-type=v3-32 \
    --tf-version=2.8.0
    

    Descrizioni flag comando

    zone
    La zona in cui prevedi di creare Cloud TPU.
    name
    Il nome della Cloud TPU da creare.
    accelerator-type
    Il tipo di Cloud TPU da creare.
    tf-version
    La versione di Tensorflow gcloud viene installata sulla VM.
  8. Se non hai eseguito automaticamente l'accesso all'istanza Compute Engine, esegui l'accesso eseguendo questo comando ssh. Dopo aver eseguito l'accesso alla VM, il prompt di shell cambia da username@projectname a username@vm-instance-name:

    VM TPU

    $ gcloud alpha compute tpus tpu-vm ssh resnet-tutorial --zone=europe-west4-a
    

    Nodo TPU

    $ gcloud compute ssh resnet-tutorial --zone=europe-west4-a
    

    Mentre procedi con queste istruzioni, esegui ogni comando che inizia con (vm)$ nella finestra della sessione VM.

  9. Esporta le variabili di configurazione di Cloud TPU:

    (vm)$ export ZONE=europe-west4-a
    (vm)$ export STORAGE_BUCKET=gs://bucket-name
    
    (vm)$ export TPU_NAME=resnet-tutorial
    (vm)$ export DATA_DIR=gs://cloud-tpu-test-datasets/fake_imagenet
    (vm)$ export MODEL_DIR=${STORAGE_BUCKET}/resnet-2x-pod
    

    L'applicazione di addestramento si aspetta che i tuoi dati di addestramento siano accessibili in Cloud Storage. L'applicazione di addestramento utilizza anche il tuo bucket Cloud Storage per archiviare i punti di controllo durante l'addestramento.

  10. Lo script di addestramento ResNet richiede un pacchetto aggiuntivo. Installala ora:

    VM TPU

    (vm)$ pip3 install --user tensorflow-model-optimization>=0.1.3 

    Nodo TPU

    (vm)$ pip3 install --user tensorflow-model-optimization>=0.1.3 
  11. Installa i requisiti di TensorFlow.

    Il comando che utilizzi dipende dall'uso o meno delle VM TPU o dei nodi TPU.

    VM TPU

    (vm)$ pip3 install -r /usr/share/tpu/models/official/requirements.txt
    

    Nodo TPU

    (vm)$ pip3 install --user -r /usr/share/models/official/requirements.txt
    
  12. Imposta la variabile di ambiente PYTHONPATH:

    VM TPU

    (vm)$ export PYTHONPATH="/usr/share/tpu/models:${PYTHONPATH}"
    (vm)$ export TPU_LOAD_LIBRARY=0
    

    Nodo TPU

    (vm)$ export PYTHONPATH="${PYTHONPATH}:/usr/share/models"
    
  13. Passa alla directory in cui è memorizzato il modello:

    VM TPU

    (vm)$ cd /usr/share/tpu/models
    

    Nodo TPU

    (vm)$ cd /usr/share/models/official/legacy/image_classification/resnet
    
  14. Addestrare il modello.

    (vm)$ python3 official/vision/train.py \
    --tpu=${TPU_NAME} \
    --experiment=resnet_imagenet \
    --mode=train_and_eval \
    --config_file=official/vision/configs/experiments/image_classification/imagenet_resnet50_tpu.yaml \
    --model_dir=${MODEL_DIR} \
    --params_override="task.train_data.input_path=${DATA_DIR}/train*, task.validation_data.input_path=${DATA_DIR}/validation*,trainer.train_steps=100"
     

    Descrizioni flag comando

    tpu
    Il nome della tua TPU.
    model_dir
    Specifica la directory in cui vengono archiviati i checkpoint e i riepiloghi durante l'addestramento del modello. Se la cartella non è presente, il programma ne crea una. Quando utilizzi una Cloud TPU, model_dir deve essere un percorso Cloud Storage (gs://...). Puoi riutilizzare una cartella esistente per caricare i dati del posto di controllo corrente e archiviare punti di controllo aggiuntivi purché i punti di controllo precedenti siano stati creati utilizzando Cloud TPU della stessa dimensione e versione di TensorFlow.

Con questa procedura il modello viene addestrato sul set di dati falsi_imagenet in 100 passaggi di addestramento e 13 passaggi di valutazione. Questo addestramento dura circa 2 minuti su una Cloud TPU v3-32. Al termine della formazione e della valutazione, vedranno messaggi simili ai seguenti:

{'accuracy': 0.0009716797,
     'learning_rate': 0.10256411,
     'top_5_accuracy': 0.0049560545,
     'training_loss': 8.5587225}
train | step:    100 | steps/sec:    1.2 | output:
    {'accuracy': 0.0009716797,
     'learning_rate': 0.10256411,
     'top_5_accuracy': 0.0049560545,
     'training_loss': 8.5587225}

eval | step:    100 | eval time:   24.8 sec | output:
    {'accuracy': 0.0010141226,
     'top_5_accuracy': 0.004356971,
     'validation_loss': 8.50038}
 eval | step:    100 | eval time:   24.8 sec | output:
    {'accuracy': 0.0010141226,
     'top_5_accuracy': 0.004356971,
     'validation_loss': 8.50038}

Esegui la pulizia

Per evitare che al tuo Account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.

  1. Disconnettiti dall'istanza di Compute Engine, se non l'hai ancora fatto:

    (vm)$ exit
    

    Il tuo prompt dovrebbe ora essere username@projectname, a indicare che ti trovi in Cloud Shell.

  2. Elimina le risorse Cloud TPU e Compute Engine. Il comando da utilizzare per eliminare le risorse dipende dalla presenza o meno di VM TPU o nodi TPU. Per ulteriori informazioni, consulta la sezione Architettura di sistema.

    VM TPU

    $ gcloud alpha compute tpus tpu-vm delete resnet-tutorial \
    --zone=europe-west4-a
    

    Nodo TPU

    $ gcloud compute tpus execution-groups delete resnet-tutorial \
    --zone=europe-west4-a
    
  3. Verifica che le risorse siano state eliminate eseguendo gcloud compute tpus execution-groups list. L'eliminazione può richiedere qualche minuto. L'output del seguente comando non deve includere alcuna risorsa TPU creata in questo tutorial:

    VM TPU

    $ gcloud alpha compute tpus tpu-vm list --zone=europe-west4-a

    Nodo TPU

    $ gcloud compute tpus execution-groups list --zone=europe-west4-a
  4. Esegui gsutil come mostrato, sostituendo bucket-name con il nome del bucket Cloud Storage creato per questo tutorial:

    $ gsutil rm -r gs://bucket-name
    

Passaggi successivi

I tutorial di TensorFlow Cloud TPU in genere addestrano il modello utilizzando un set di dati di esempio. I risultati di questo corso di formazione non sono utilizzabili per inferenza. Per utilizzare un modello di inferenza, puoi addestrare i dati su un set di dati disponibile pubblicamente o sul tuo set di dati. In genere, i modelli TensorFlow addestrati su Cloud TPU richiedono che i set di dati siano in formato TFRecord.

Puoi utilizzare l'esempio di strumento di conversione del set di dati per convertire un set di dati di classificazione delle immagini in formato TFRecord. Se non utilizzi un modello di classificazione delle immagini, dovrai convertire personalmente il set di dati in formato TFRecord. Per ulteriori informazioni, vedi TFRecord e tf.Example.

Ottimizzazione degli iperparametri

Per migliorare le prestazioni del modello con il tuo set di dati, puoi regolare gli iperparametri di questo modello. Puoi trovare informazioni sugli iperparametri in comune in tutti i modelli supportati da TPU su GitHub. Puoi trovare informazioni sugli iperparametri specifici del modello nel codice sorgente di ciascun modello. Per ulteriori informazioni sull'ottimizzazione degli iperparametri, consulta Panoramica dell'ottimizzazione degli iperparametri, Utilizzo del servizio di ottimizzazione degli iperparametri e Perfezionamento degli iperparametri.

Inferenza

Dopo aver addestrato il modello, puoi utilizzarlo per inferenza (chiamato anche previsione). AI Platform è una soluzione basata su cloud per lo sviluppo, l'addestramento e il deployment di modelli di machine learning. Una volta eseguito il deployment di un modello, puoi utilizzare il servizio AI Platform Prediction.

  • Scopri come addestrare e valutare utilizzando i tuoi dati al posto dei set di dati fake_imagenet o ImageNet seguendo il tutorial sulle conversioni dei set di dati. Il tutorial spiega come utilizzare lo script di esempio per il convertitore di dati per la classificazione delle immagini per convertire un set di dati non elaborati per la classificazione delle immagini in TFRecord utilizzabili dai modelli Tensorflow di Cloud TPU.
  • Esegui un colab Cloud TPU che illustri come eseguire un modello di classificazione delle immagini utilizzando i tuoi dati immagine.
  • Esplora gli altri tutorial su Cloud TPU.
  • Scopri come utilizzare gli strumenti di monitoraggio della TPU in TensorBoard.
  • Scopri come addestrare ResNet con Cloud TPU e GKE.