Training mit TensorFlow 2

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 für den Job Parameterserver 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.

Weitere Informationen zum Melden des Hyperparameter-Messwerts und Beispiele zur Vorgehensweise in TensorFlow 2

Nächste Schritte