Addestrare un modello di machine learning con TensorFlow 2 in AI Platform Training utilizzando la versione di runtime 2.1 o successiva. TensorFlow 2 semplifica molte API di TensorFlow 1. La documentazione di TensorFlow fornisce una guida alla migrazione del codice di TensorFlow 1 a TensorFlow 2.
L'esecuzione di un job di addestramento con TensorFlow 2 su AI Platform Training segue la stessa procedura dell'esecuzione di altri job di addestramento con codice personalizzato. Tuttavia, alcune funzionalità di AI Platform Training funzionano in modo diverso con TensorFlow 2 rispetto a come funzionano con TensorFlow 1. Questo documento fornisce un riepilogo di queste differenze.
Supporto delle versioni di Python
Le versioni di 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.
La Python Software Foundation ha interrotto il supporto di Python 2.7 il 1° gennaio 2020. 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 la variabile di ambiente TF_CONFIG
in modo diverso in fase di runtime
nelle versioni 2.1 e successive. Questa sezione descrive entrambe le modifiche.
Strategie di distribuzione
Per eseguire l'addestramento distribuito con più istanze di macchine virtuali (VM) in
TensorFlow 2, utilizza l'tf.distribute.Strategy
API.
In particolare, ti consigliamo di utilizzare l'API Keras insieme a MultiWorkerMirroredStrategy
o, se specifichi i server di parametri per il tuo job, con ParameterServerStrategy
.
Tuttavia, tieni presente che al momento TensorFlow fornisce solo supporto sperimentale per queste strategie.
TF_CONFIG
TensorFlow si aspetta che una TF_CONFIG
variabile di ambiente
sia impostata su ogni VM utilizzata per l'addestramento. AI Platform Training imposta automaticamente questa variabile di ambiente su ogni VM utilizzata nel job di addestramento. In questo modo, ogni VM
si comporta in modo diverso a seconda del tipo e le VM possono comunicare tra loro.
Nella versione di runtime 2.1 e successive, AI Platform Training non utilizza più il tipo di compito master
in nessuna variabile di ambiente TF_CONFIG
. Il worker master del job di addestramento è invece etichettato con il tipo chief
nella variabile di ambiente TF_CONFIG
. Scopri di più su come AI Platform Training imposta la variabile di ambienteTF_CONFIG
.
Acceleratori per l'addestramento
AI Platform Training ti consente di accelerare i job di addestramento con GPU e TPU.
GPU
Per scoprire come utilizzare le GPU per l'addestramento, leggi la guida di AI Platform Training alla configurazione delle 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 è utilizzare
MultiWorkerMirroredStrategy
di
TensorFlow.
TPU
Per scoprire come utilizzare le TPU per l'addestramento, leggi la guida all'addestramento con le TPU.
Ottimizzazione degli iperparametri
Se stai eseguendo un job di ottimizzazione degli iperparametri con TensorFlow 2, potresti dover modificare il modo in cui il codice di addestramento registra la metrica di ottimizzazione degli iperparametri al servizio AI Platform Training.
Se esegui l'addestramento con un estimatore, puoi scrivere la metrica in un riepilogo come faresti in TensorFlow 1. Se esegui l'addestramento con Keras, ti consigliamo di utilizzare tf.summary.scalar
per scrivere un riepilogo.
Passaggi successivi
- Scopri di più sulla configurazione della versione di runtime e della versione di Python per un job di addestramento.
- Scopri di più sulla configurazione dell'addestramento distribuito.
- Scopri di più sull'ottimizzazione degli iperparametri.