Panoramica
Questo tutorial illustra come eseguire il modello Mask RCNN utilizzando Cloud TPU con il set di dati COCO.
Mask RCNN è una rete neurale profonda progettata per affrontare la segmentazione degli oggetti e la segmentazione delle immagini, una delle sfide di visione artificiale più difficili.
Il modello Maschera RCNN genera riquadri di delimitazione e maschere di segmentazione per ogni istanza di un oggetto nell'immagine. Il modello è basato sulla Funzionalità Pyramid Network (FPN) e su una backbone ResNet50.
Questo tutorial utilizza Tensorflow Keras APIs
per addestrare il modello. L'API Keras è un'API TensorFlow di alto livello che può essere utilizzata per creare ed eseguire un modello di machine learning su Cloud TPU. L'API semplifica il processo di sviluppo del modello nascondendo la maggior parte dell'implementazione di basso livello, che semplifica il passaggio tra TPU e altre piattaforme, come GPU o CPU.
Le istruzioni riportate di seguito presuppongono che tu abbia già familiarità con l'addestramento di un modello su Cloud TPU. Se non hai mai utilizzato Cloud TPU, consulta la Guida rapida per un'introduzione di base.
Obiettivi
- Prepara il set di dati COCO
- Crea un bucket Cloud Storage per conservare l'output del set di dati e del modello
- Configura le risorse TPU per l'addestramento e la valutazione
- Esegui addestramento e valutazione su un singolo pod Cloud TPU o Cloud TPU
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.
Prima di iniziare
Prima di iniziare questo tutorial, verifica che il tuo progetto Google Cloud sia configurato correttamente.
- 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.
-
Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.
-
Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.
Questa procedura dettagliata utilizza i componenti fatturabili di Google Cloud. Controlla la pagina dei prezzi di Cloud TPU per una stima dei costi. Al termine, pulisci le risorse che crei per evitare addebiti inutili.
Prepara il set di dati COCO
Questo tutorial utilizza il set di dati COCO. Il set di dati deve essere in formato TFRecord su un bucket Cloud Storage da utilizzare per l'addestramento.
Se hai già preparato il set di dati COCO in un bucket Cloud Storage che si trova nella zona che utilizzerai per addestrare il modello, puoi andare direttamente all'addestramento per singolo dispositivo. In caso contrario, segui questi passaggi per preparare il set di dati.
Apri una finestra di Cloud Shell.
In Cloud Shell, configura
gcloud
con l'ID progetto.export PROJECT_ID=project-id gcloud config set project ${PROJECT_ID}
In Cloud Shell, crea un bucket Cloud Storage utilizzando il seguente comando:
gsutil mb -p ${PROJECT_ID} -c standard -l europe-west4 gs://bucket-name
Avvia un'istanza VM di Compute Engine.
Questa istanza VM verrà utilizzata solo per scaricare e pre-elaborare il set di dati COCO. Compila il campo instance-name con un nome a tua scelta.
$ gcloud compute tpus execution-groups create \ --vm-only \ --name=instance-name \ --zone=europe-west4-a \ --disk-size=300 \ --machine-type=n1-standard-16 \ --tf-version=2.11.0
Descrizioni flag comando
vm-only
- Creare solo una VM. Per impostazione predefinita, il comando
gcloud compute tpus execution-groups
crea una VM e una Cloud TPU. name
- Il nome della Cloud TPU da creare.
zone
- La zona in cui prevedi di creare la tua Cloud TPU.
disk-size
- Le dimensioni del disco rigido in GB della VM creata dal comando
gcloud compute tpus execution-groups
. machine-type
- Il tipo di macchina della VM di Compute Engine da creare.
tf-version
- La versione di Tensorflow
gcloud compute tpus execution-groups
viene installata sulla VM.
Se non hai eseguito automaticamente l'accesso all'istanza di Compute Engine, accedi eseguendo il comando
ssh
seguente. Dopo aver eseguito l'accesso alla VM, il prompt di shell passa dausername@projectname
ausername@vm-name
:$ gcloud compute ssh instance-name --zone=europe-west4-a
Configura due variabili, una per il bucket di archiviazione creato in precedenza e una per la directory contenente i dati di addestramento (DATA_DIR) nel bucket di archiviazione.
(vm)$ export STORAGE_BUCKET=gs://bucket-name
(vm)$ export DATA_DIR=${STORAGE_BUCKET}/coco
Installa i pacchetti necessari per pre-elaborare i dati.
(vm)$ sudo apt-get install -y python3-tk && \ pip3 install --user Cython matplotlib opencv-python-headless pyyaml Pillow && \ pip3 install --user "git+https://github.com/cocodataset/cocoapi#egg=pycocotools&subdirectory=PythonAPI"
Esegui lo script
download_and_preprocess_coco.sh
per convertire il set di dati COCO in un set di TFRecord (*.tfrecord
) che l'applicazione di addestramento si aspetta.(vm)$ git clone https://github.com/tensorflow/tpu.git (vm)$ sudo bash tpu/tools/datasets/download_and_preprocess_coco.sh ./data/dir/coco
Questo installa le librerie necessarie ed esegue lo script di pre-elaborazione. Visualizza una serie di file
*.tfrecord
nella directory dei dati locali. Il completamento dello script di conversione e download di COCO richiede circa un'ora.Copia i dati nel bucket Cloud Storage
Dopo aver convertito i dati in TFRecord, copiali dallo spazio di archiviazione locale nel tuo bucket Cloud Storage utilizzando il comando
gsutil
. Devi anche copiare i file di annotazione. Questi file consentono di convalidare le prestazioni del modello.(vm)$ gsutil -m cp ./data/dir/coco/*.tfrecord ${DATA_DIR} (vm)$ gsutil cp ./data/dir/coco/raw-data/annotations/*.json ${DATA_DIR}
Esegui la pulizia delle risorse VM
Dopo che il set di dati COCO è stato convertito in TFRecords e copiato in DATA_DIR nel tuo bucket Cloud Storage, puoi eliminare l'istanza di Compute Engine.
Disconnettiti dall'istanza Compute Engine:
(vm)$ exit
Il prompt ora dovrebbe essere
username@projectname
, a indicare che ti trovi in Cloud Shell.Elimina l'istanza di Compute Engine.
$ gcloud compute instances delete instance-name --zone=europe-west4-a
Addestramento di un singolo dispositivo Cloud TPU
Apri una finestra di Cloud Shell.
Crea una variabile di ambiente per l'ID del tuo progetto.
export PROJECT_ID=project-id
Configurare Google Cloud CLI in modo da utilizzare il progetto in cui vuoi creare la 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 suAuthorize
in fondo alla pagina per consentire agcloud
di effettuare chiamate API Google Cloud con le tue credenziali.Creare 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 seguente formato:
service-PROJECT_NUMBER@cloud-tpu.iam.gserviceaccount.com
Esporta variabili di configurazione TPU
Esporta l'ID progetto, il nome che vuoi utilizzare per le risorse TPU e la zona in cui imparerai ad addestrare il modello e ad archiviare eventuali dati relativi all'addestramento.
$ export TPU_NAME=mask-rcnn-tutorial $ export ZONE=europe-west4-a
Avvia una VM di Compute Engine e Cloud TPU utilizzando il comando
gcloud
. Il comando utilizzato varia a seconda che tu stia utilizzando VM TPU o nodi TPU. Per ulteriori informazioni sulle due architetture VM, consulta la pagina relativa all'architettura di sistema.VM TPU
$ gcloud compute tpus tpu-vm create mask-rcnn-tutorial \ --zone=europe-west4-a \ --accelerator-type=v3-8 \ --version=tpu-vm-tf-2.11.0
Nodo TPU
$ gcloud compute tpus execution-groups create \ --zone=europe-west4-a \ --name=mask-rcnn-tutorial \ --accelerator-type=v3-8 \ --machine-type=n1-standard-8 \ --disk-size=300 \ --tf-version=2.11.0
Descrizioni flag comando
zone
- La zona in cui prevedi di creare la tua Cloud TPU.
name
- Il nome della TPU. Se non viene specificato, il valore predefinito sarà il tuo nome utente.
accelerator-type
- Il tipo di Cloud TPU da creare.
machine-type
- Il tipo di macchina della VM di Compute Engine da creare.
disk-size
- Le dimensioni root del volume della VM di Compute Engine (in GB).
tf-version
- La versione di Tensorflow
gcloud
viene installata sulla VM.
Per maggiori informazioni sul comando
gcloud
, consulta la sezione Riferimento gcloud.Se non hai eseguito automaticamente l'accesso all'istanza di Compute Engine, accedi eseguendo il comando
ssh
seguente. Dopo aver eseguito l'accesso alla VM, il prompt di shell passa dausername@projectname
ausername@vm-name
:VM TPU
gcloud compute tpus tpu-vm ssh mask-rcnn-tutorial --zone=europe-west4-a
Nodo TPU
gcloud compute tpus execution-groups ssh mask-rcnn-tutorial --zone=europe-west4-a
Installare i requisiti di TensorFlow.
Il comando da utilizzare varia a seconda che tu stia utilizzando VM TPU o 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
Imposta la variabile del nome Cloud TPU.
VM TPU
(vm)$ export TPU_NAME=local
Nodo TPU
(vm)$ export TPU_NAME=mask-rcnn-tutorial
Configura le seguenti variabili di ambiente, sostituendo bucket-name con il nome del bucket Cloud Storage in cui è archiviato il set di dati COCO:
(vm)$ export STORAGE_BUCKET=gs://bucket-name
Aggiungi variabili di ambiente per le directory dei dati e del modello.
(vm)$ export DATA_DIR=${STORAGE_BUCKET}/coco (vm)$ export MODEL_DIR=${STORAGE_BUCKET}/mask-rcnn
Aggiungi alcune altre variabili di ambiente obbligatorie:
(vm)$ export RESNET_CHECKPOINT=gs://cloud-tpu-checkpoints/retinanet/resnet50-checkpoint-2018-02-07 (vm)$ export TRAIN_FILE_PATTERN=${DATA_DIR}/train-* (vm)$ export EVAL_FILE_PATTERN=${DATA_DIR}/val-* (vm)$ export VAL_JSON_FILE=${DATA_DIR}/instances_val2017.json
Imposta la variabile di ambiente
PYTHONPATH
:VM TPU
(vm)$ export PYTHONPATH="${PYTHONPATH}:/usr/share/tpu/models"
Nodo TPU
(vm)$ export PYTHONPATH="${PYTHONPATH}:/usr/share/models"
Passa alla directory in cui è memorizzato il modello:
VM TPU
(vm)$ cd /usr/share/tpu/models/official/vision
Nodo TPU
(vm)$ cd /usr/share/models/official/legacy/detection
Lo script seguente esegue un addestramento di esempio che viene addestrato per 10 passaggi di addestramento e 10 passaggi di valutazione. Il completamento di questa operazione richiede circa 6 minuti su una TPU v3-8. Per l'addestramento alla convergenza sono necessari circa 22.500 passi e circa 6 ore su una TPU v3-8.
Esegui questo comando per addestrare il modello Mask-RCNN:
(vm)$ python3 train.py \ --tpu=${TPU_NAME} \ --experiment=maskrcnn_resnetfpn_coco \ --mode=train_and_eval \ --config_file=configs/experiments/maskrcnn/r50fpn_640_coco_scratch_tpu4x4.yaml \ --model_dir=${MODEL_DIR} \ --params_override="task.train_data.input_path=${TRAIN_FILE_PATTERN},task.validation_data.input_path=${EVAL_FILE_PATTERN},task.annotation_file=${VAL_JSON_FILE},runtime.distribution_strategy=tpu,trainer.train_steps=10,trainer.validation_steps=10,task.train_data.global_batch_size=8,task.validation_data.global_batch_size=8"
Descrizioni flag comando
strategy_type
- La strategia di distribuzione.
tpu
- Il nome della tua TPU.
- 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 di Cloud Storage ("gs://..."). Puoi riutilizzare una cartella esistente per caricare i dati del checkpoint attuale e archiviare i checkpoint aggiuntivi purché i checkpoint precedenti siano stati creati utilizzando TPU della stessa dimensione e della versione di TensorFlow.
model_dir
Al termine dell'addestramento, viene visualizzato un messaggio simile al seguente:
{'frcnn_box_loss': 0.033865165, 'frcnn_cls_loss': 1.2535654, 'learning_rate': 0.008266499, 'mask_loss': 1.2039567, 'model_loss': 2.821458, 'rpn_box_loss': 0.034982488, 'rpn_score_loss': 0.2950886, 'total_loss': 4.340171, 'training_loss': 4.340171} train | step: 10 | steps/sec: 0.1 | output: {'frcnn_box_loss': 0.033865165, 'frcnn_cls_loss': 1.2535654, 'learning_rate': 0.008266499, 'mask_loss': 1.2039567, 'model_loss': 2.821458, 'rpn_box_loss': 0.034982488, 'rpn_score_loss': 0.2950886, 'total_loss': 4.340171, 'training_loss': 4.340171}
Segue l'output dei passaggi di valutazione.
Hai completato la formazione e la valutazione di un singolo dispositivo. Segui questi passaggi per eliminare le attuali risorse TPU per singolo dispositivo.
Disconnettiti dall'istanza Compute Engine:
(vm)$ exit
Il prompt ora dovrebbe essere
username@projectname
, a indicare che ti trovi in Cloud Shell.Elimina la risorsa TPU.
VM TPU
$ gcloud compute tpus tpu-vm delete mask-rcnn-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 mask-rcnn-tutorial \ --tpu-only \ --zone=europe-west4-a
Descrizioni flag comando
tpu-only
- Elimina solo Cloud TPU. La VM rimane disponibile.
zone
- La zona che contiene la TPU da eliminare.
A questo punto, puoi completare questo tutorial e ripulire oppure continuare ed esplorare l'esecuzione del modello sui pod Cloud TPU.
Scalabilità del modello con i pod Cloud TPU
L'addestramento del modello su pod { product_name_short }} potrebbe richiedere alcune modifiche allo script di addestramento. Per informazioni, vedi Formazione sui pod TPU.
Addestramento dei pod TPU
Apri una finestra di Cloud Shell.
Crea una variabile per l'ID del tuo progetto.
export PROJECT_ID=project-id
Configurare Google Cloud CLI in modo da 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 suAuthorize
in fondo alla pagina per consentire agcloud
di effettuare chiamate API Google Cloud con le tue credenziali.Creare un account di servizio per il progetto Cloud TPU.
Gli account di servizio consentono al servizio Cloud TPU di accedere ad altri servizi Google Cloud.
gcloud beta services identity create --service tpu.googleapis.com --project $PROJECT_ID
Il comando restituisce un account di servizio Cloud TPU con il seguente formato:
service-PROJECT_NUMBER@cloud-tpu.iam.gserviceaccount.com
Se in precedenza hai preparato il set di dati COCO e lo hai spostato nel bucket di archiviazione, puoi utilizzarlo di nuovo per l'addestramento dei pod. Se non hai ancora preparato il set di dati COCO, preparalo ora e torna qui per configurare la formazione.
Avviare un pod Cloud TPU
Questo tutorial specifica un pod v3-32. Per altre opzioni pod, consulta la pagina dei tipi di TPU disponibili.
VM TPU
$ gcloud compute tpus tpu-vm create mask-rcnn-tutorial \ --zone=europe-west4-a \ --accelerator-type=v3-32 \ --version=tpu-vm-tf-2.11.0-pod
Nodo TPU
(vm)$ gcloud compute tpus execution-groups create \ --zone=europe-west4-a \ --name=mask-rcnn-tutorial \ --accelerator-type=v3-32 \ --tf-version=2.11.0
Descrizioni flag comando
zone
- La zona in cui prevedi di creare la tua Cloud TPU.
tpu-only
- Crea solo Cloud TPU. Per impostazione predefinita, il comando
gcloud compute tpus execution-groups
crea sia una VM sia una Cloud TPU. accelerator-type
- Il tipo di Cloud TPU da creare.
tf-version
- La versione di Tensorflow
gcloud
viene installata sulla VM.
Se non hai eseguito automaticamente l'accesso all'istanza di Compute Engine, accedi eseguendo il comando
ssh
seguente. Dopo aver eseguito l'accesso alla VM, il prompt di shell passa dausername@projectname
ausername@vm-name
:VM TPU
gcloud compute tpus tpu-vm ssh mask-rcnn-tutorial --zone=europe-west4-a
Nodo TPU
gcloud compute ssh mask-rcnn-tutorial --zone=europe-west4-a
Installare i requisiti di TensorFlow.
Il comando da utilizzare varia a seconda che tu stia utilizzando VM TPU o 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
Lo script di addestramento richiede un pacchetto aggiuntivo. Installalo ora:
(vm)$ pip3 install --user tensorflow-model-optimization>=0.1.3
Imposta la variabile del nome Cloud TPU.
(vm)$ export TPU_NAME=mask-rcnn-tutorial
Configura le seguenti variabili di ambiente, sostituendo bucket-name con il nome del bucket Cloud Storage:
(vm)$ export STORAGE_BUCKET=gs://bucket-name
Aggiungi alcune altre variabili di ambiente obbligatorie:
(vm)$ export RESNET_CHECKPOINT=gs://cloud-tpu-checkpoints/retinanet/resnet50-checkpoint-2018-02-07 (vm)$ export DATA_DIR=${STORAGE_BUCKET}/coco (vm)$ export TRAIN_FILE_PATTERN=${DATA_DIR}/train-* (vm)$ export EVAL_FILE_PATTERN=${DATA_DIR}/val-* (vm)$ export VAL_JSON_FILE=${DATA_DIR}/instances_val2017.json (vm)$ export MODEL_DIR=${STORAGE_BUCKET}/mask-rcnn-pod
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"
Passa alla directory in cui è memorizzato il modello:
VM TPU
(vm)$ cd /usr/share/tpu/models/official/vision
Nodo TPU
(vm)$ cd /usr/share/models/official/legacy/detection
Addestra il modello:
Questa procedura addestra il modello sul set di dati COCO per 10 passaggi di addestramento. Questo addestramento richiede circa 10 minuti su una Cloud TPU v3-32.
VM TPU
(vm)$ python3 train.py \ --tpu=${TPU_NAME} \ --experiment=maskrcnn_resnetfpn_coco \ --mode=train_and_eval \ --config_file=configs/experiments/maskrcnn/r50fpn_640_coco_scratch_tpu4x4.yaml \ --model_dir=${MODEL_DIR} \ --params_override="task.train_data.input_path=${TRAIN_FILE_PATTERN},task.validation_data.input_path=${EVAL_FILE_PATTERN},task.annotation_file=${VAL_JSON_FILE},runtime.distribution_strategy=tpu,trainer.train_steps=10,trainer.validation_steps=10,task.train_data.global_batch_size=256,task.validation_data.global_batch_size=256"
Descrizioni flag comando
tpu
- Il nome della tua TPU.
model_dir
- Specifica la directory in cui vengono archiviati i punti di controllo e i riepiloghi durante l'addestramento del modello. Se la cartella risulta mancante, 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 checkpoint attuale e archiviare quelli esistenti se i checkpoint precedenti sono stati creati utilizzando Cloud TPU della stessa dimensione e della stessa versione di TensorFlow. params_override
- Una stringa JSON che sostituisce i parametri di script predefiniti.
Nodo TPU
(vm)$ python3 main.py \ --strategy_type=tpu \ --tpu=${TPU_NAME} \ --model_dir=${MODEL_DIR} \ --mode=train \ --model=mask_rcnn \ --params_override="{train: { batch_size: 128, iterations_per_loop: 500, total_steps: 20, learning_rate: {'learning_rate_levels': [0.008, 0.0008], 'learning_rate_steps': [10000, 13000] }, checkpoint: { path: ${RESNET_CHECKPOINT}, prefix: resnet50/ }, train_file_pattern: ${TRAIN_FILE_PATTERN} }, eval: { val_json_file: ${VAL_JSON_FILE}, eval_file_pattern: ${EVAL_FILE_PATTERN}} }"
Descrizioni flag comando
tpu
- Il nome della tua TPU.
model_dir
- Specifica la directory in cui vengono archiviati i punti di controllo e i riepiloghi durante l'addestramento del modello. Se la cartella risulta mancante, 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 checkpoint attuale e archiviare quelli esistenti se i checkpoint precedenti sono stati creati utilizzando Cloud TPU della stessa dimensione e della stessa versione di TensorFlow. params_override
- Una stringa JSON che sostituisce i parametri di script predefiniti.
Al termine dell'addestramento, viene visualizzato un messaggio simile al seguente:
I0706 19:47:16.108213 139955064548416 controller.py:457] train | step: 10 | steps/sec: 0.1 | output: {'frcnn_box_loss': 0.05632668, 'frcnn_cls_loss': 1.3012192, 'learning_rate': 0.008266499, 'mask_loss': 1.2371812, 'model_loss': 2.9746659, 'rpn_box_loss': 0.08227444, 'rpn_score_loss': 0.2976642, 'total_loss': 4.493513, 'training_loss': 4.493513} train | step: 10 | steps/sec: 0.1 | output: {'frcnn_box_loss': 0.05632668, 'frcnn_cls_loss': 1.3012192, 'learning_rate': 0.008266499, 'mask_loss': 1.2371812, 'model_loss': 2.9746659, 'rpn_box_loss': 0.08227444, 'rpn_score_loss': 0.2976642, 'total_loss': 4.493513, 'training_loss': 4.493513}
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.
Dopo aver eseguito l'addestramento, elimina la VM TPU e rimuovi il bucket di archiviazione.
Disconnettiti dall'istanza Compute Engine, se non lo hai già fatto:
(vm)$ exit
Il prompt ora dovrebbe essere
username@projectname
, a indicare che ti trovi in Cloud Shell.Elimina le risorse Cloud TPU e Compute Engine. Il comando utilizzato per eliminare le risorse dipende dal fatto che tu stia utilizzando VM TPU o nodi TPU. Per saperne di più, vedi Architettura di sistema.
VM TPU
$ gcloud compute tpus tpu-vm delete mask-rcnn-tutorial \ --zone=europe-west4-a
Nodo TPU
$ gcloud compute tpus execution-groups delete mask-rcnn-tutorial \ --zone=europe-west4-a
Verifica che le risorse siano state eliminate eseguendo
gcloud compute tpus execution-groups list
. L'eliminazione potrebbe richiedere alcuni minuti. L'output del comando seguente non deve includere nessuna delle risorse TPU create in questo tutorial:$ gcloud compute tpus execution-groups list --zone=europe-west4-a
Esegui
gsutil
come mostrato, sostituendo bucket-name con il nome del bucket Cloud Storage che hai creato per questo tutorial:$ gsutil rm -r gs://bucket-name
Passaggi successivi
In generale, i tutorial di TensorFlow Cloud TPU addestrano il modello utilizzando un set di dati di esempio. I risultati di questo addestramento non sono utilizzabili per l'inferenza. Per utilizzare un modello per l'inferenza, puoi addestrare i dati in un set di dati disponibile pubblicamente o nel tuo set di dati. In genere, i modelli TensorFlow addestrati sulle Cloud TPU richiedono set di dati in formato TFRecord.
Puoi utilizzare l'esempio dello strumento di conversione dei 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 il set di dati nel formato TFRecord autonomamente. Per ulteriori informazioni, consulta TFRecord e tf.Example.
Ottimizzazione degli iperparametri
Per migliorare le prestazioni del modello con il tuo set di dati, puoi regolare gli iperparametri del modello. Puoi trovare informazioni sugli iperparametri comuni per tutti i modelli TPU supportati 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 sull'ottimizzazione degli iperparametri, Utilizzo del servizio di ottimizzazione degli iperparametri e Iperparametri dell'iperparametro.
Inferenza
Dopo aver addestrato il modello, puoi utilizzarlo per l'inferenza (detta anche previsione). AI Platform è una soluzione basata su cloud per lo sviluppo, l'addestramento e il deployment dei modelli di machine learning. Una volta eseguito il deployment di un modello, puoi utilizzare il servizio AI Platform Prediction.
- Esplora gli strumenti TPU in TensorBoard.