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.
Passaggi successivi
- Scopri di più sulla configurazione della versione runtime e della versione Python per un job di addestramento.
- Scopri di più sulla configurazione dell'addestramento distribuito.
- Scopri di più sull'ottimizzazione degli iperparametri.