Addestramento con TensorFlow 2

Addestra un modello di machine learning con TensorFlow 2 su AI Platform Training utilizzando la versione 2.1 o successiva del runtime. TensorFlow 2 semplifica molte API di TensorFlow 1. La documentazione di TensorFlow fornisce una guida per la migrazione del codice TensorFlow 1 a TensorFlow 2.

L'esecuzione di un job di addestramento con TensorFlow 2 su AI Platform Training segue lo stesso processo dell'esecuzione di altri job di addestramento personalizzato del codice. Tuttavia, alcune funzionalità di AI Platform Training funzionano in modo diverso con TensorFlow 2 rispetto a TensorFlow 1. Questo documento fornisce un riepilogo di queste differenze.

Supporto della versione Python

Le versioni del runtime 2.1 e successive supportano solo l'addestramento con Python 3.7. Pertanto, devi utilizzare Python 3.7 per l'addestramento con TensorFlow 2.

Il 1° gennaio 2020 la Python Software Foundation ha interrotto il supporto per Python 2.7. Nessuna versione del runtime di AI Platform rilasciata dopo il 1° gennaio 2020 supporta Python 2.7.

Addestramento distribuito

TensorFlow 2 fornisce un'API aggiornata per l'addestramento distribuito. Inoltre, AI Platform Training imposta in modo diverso la variabile di ambiente TF_CONFIG nelle versioni di runtime 2.1 e successive. In questa sezione vengono descritte entrambe le modifiche.

Strategie di distribuzione

Per eseguire l'addestramento distribuito con più istanze di macchine virtuali (VM) in TensorFlow 2, utilizza l'API tf.distribute.Strategy. In particolare, ti consigliamo di utilizzare l'API Keras insieme a MultiWorkerMirroredStrategy oppure, se specifichi i server dei parametri per il job, ParameterServerStrategy. Tuttavia, tieni presente che al momento TensorFlow fornisce solo supporto sperimentale per queste strategie.

TF_CONFIG

TensorFlow prevede che venga impostata una variabile di ambiente TF_CONFIG su ogni VM utilizzata per l'addestramento. AI Platform Training imposta automaticamente questa variabile di ambientee su ogni VM utilizzata nel job di addestramento. Questo consente a ogni VM di comportarsi in modo diverso a seconda del tipo e di comunicare tra loro.

In runtime 2.1 e versioni successive, AI Platform Training non utilizza più il tipo di attività master in nessuna variabile di ambiente TF_CONFIG. Al contrario, il Worker master del job di addestramento è etichettato con il tipo chief nella variabile di ambiente TF_CONFIG. Scopri di più su come AI Platform Training imposta la variabile di ambiente TF_CONFIG.

Acceleratori per l'addestramento

AI Platform Training consente di accelerare i job di addestramento con GPU e TPU.

GPU

Per informazioni su come utilizzare le GPU per l'addestramento, leggi la guida di AI Platform Training per configurare le GPU e la guida di TensorFlow all'utilizzo delle GPU.

Se vuoi eseguire l'addestramento su una singola VM con più GPU, la best practice è utilizzare MirroredStrategy di TensorFlow. Se vuoi eseguire l'addestramento utilizzando più VM con GPU, la best practice prevede l'utilizzo di MultiWorkerMirroredStrategy di TensorFlow.

TPU

Per informazioni su come utilizzare le TPU per l'addestramento, leggi la guida all'addestramento con TPU.

Ottimizzazione degli iperparametri

Se esegui un job di ottimizzazione degli iperparametri con TensorFlow 2, potrebbe essere necessario modificare il modo in cui il codice di addestramento segnala la metrica di ottimizzazione degli iperparametri al servizio di AI Platform Training.

Se ti stai addestrando con uno strumento di stima, puoi scrivere la metrica in un riepilogo come faresti in TensorFlow 1. Se ti stai allenando con Keras, ti consigliamo di usare tf.summary.scalar per scrivere un riepilogo.

Scopri di più su come generare report sulla metrica dell'iperparametro e consulta esempi su come farlo in TensorFlow 2.

Passaggi successivi