Trainieren Sie ein maschinelles Lernmodell mit TensorFlow 2 in AI Platform Training mithilfe der Laufzeitversion 2.1 oder höher. TensorFlow 2 vereinfacht viele APIs von TensorFlow 1. Die TensorFlow-Dokumentation enthält eine Anleitung zur Migration von TensorFlow 1-Code zu TensorFlow 2.
Das Ausführen eines Trainingsjobs mit TensorFlow 2 in AI Platform Training folgt dem gleichen Vorgang wie das Ausführen anderer benutzerdefinierter Code-Trainingsjobs. Einige Features von AI Platform Training funktionieren jedoch anders mit TensorFlow 2 als mit TensorFlow 1. Dieses Dokument enthält eine Zusammenfassung dieser Unterschiede.
Python-Versionsunterstützung
Laufzeitversionen 2.1 und höher unterstützen nur Training mit Python 3.7. Daher müssen Sie Python 3.7 zum Trainieren mit TensorFlow 2 verwenden.
Die Python Software Foundation hat die Unterstützung für Python 2.7 am 1. Januar 2020 eingestellt. Keine AI Plattform-Laufzeitversionen, die nach dem 1. Januar 2020 veröffentlicht wurden, unterstützen Python 2.7.
Verteiltes Training
TensorFlow 2 bietet eine aktualisierte API für verteiltes Training. Außerdem legt AI Platform Training die Umgebungsvariable TF_CONFIG
in den Laufzeitversionen 2.1 und höher unterschiedlich fest. In diesem Abschnitt werden beide Änderungen beschrieben.
Vertriebsstrategien
Verwenden Sie die tf.distribute.Strategy
API, um verteiltes Training mit mehreren VM-Instanzen in TensorFlow 2 durchzuführen.
Insbesondere empfehlen wir Ihnen, die Keras API zusammen mit der MultiWorkerMirroredStrategy
oder, wenn Sie Parameterserver für Ihren Job angeben, mit der ParameterServerStrategy
zu verwenden.
Beachten Sie jedoch, dass TensorFlow derzeit nur experimentelle Unterstützung für diese Strategien bietet.
TF_CONFIG
TensorFlow erwartet, dass eine TF_CONFIG
-Umgebungsvariable auf jeder VM festgelegt wird, die für das Training verwendet wird. AI Platform Training legt diese Umgebungsvariable automatisch für jede VM fest, die in Ihrem Trainingsjob verwendet wird. Dadurch kann sich jede VM je nach Typ unterschiedlich verhalten und die VMs können miteinander kommunizieren.
Ab Laufzeitversion 2.1 verwendet AI Platform Training nicht mehr den Aufgabentyp master
in TF_CONFIG
-Umgebungsvariablen. Stattdessen ist der Master-Worker Ihres Trainingsjobs mit dem Typ chief
in der TF_CONFIG
-Umgebungsvariable gekennzeichnet. Weitere Informationen darüber, wie AI Platform Training die Umgebungsvariable TF_CONFIG
festlegt
Beschleuniger für das Training
AI Platform Training ermöglicht Ihnen, Ihre Trainingsjobs mit GPUs und TPUs zu beschleunigen.
GPUs
Informationen zur Verwendung von GPUs für das Training finden Sie in der AI Platform Training-Anleitung zum Konfigurieren von GPUs und in der Anleitung von TensorFlow zur Verwendung von GPUs.
Wenn Sie auf einer VM mit mehreren GPUs trainieren möchten, verwenden Sie am besten MirroredStrategy
von TensorFlow.
Wenn Sie mit mehreren VMs mit GPUs trainieren möchten, empfiehlt sich die Verwendung von MultiWorkerMirroredStrategy
von TensorFlow.
TPUs
Informationen zum Verwenden von TPUs für das Training finden Sie in der Anleitung zum Trainieren mit TPUs.
Hyperparameter-Abstimmung
Wenn Sie einen Hyperparameter-Abstimmungsjob mit TensorFlow 2 ausführen, müssen Sie möglicherweise anpassen, wie Ihr Trainingscode Ihren Hyperparameter-Abstimmungsmesswert an den AI Platform Training-Dienst meldet.
Wenn Sie mit einem Estimator trainieren, können Sie den Messwert wie bei TensorFlow 1 in eine Zusammenfassung schreiben. Wenn Sie mit Keras trainieren, empfehlen wir Ihnen, tf.summary.scalar
zu verwenden, um eine Zusammenfassung zu schreiben.
Nächste Schritte
- Informationen zur Konfiguration der Laufzeitversion und der Python-Version für einen Trainingsjob
- Weitere Informationen zum Konfigurieren von verteiltem Training
- Weitere Informationen zum Anpassen von Hyperparametern.