[PYTHON] Berechnen Sie mit der gespiegelten Strategie von Tensorflow 2 auf mehreren GPUs

Überblick

Sehr leicht. Bauen Sie einfach ein Netzwerk im Rahmen von tf.distribute.MirroredStrategy tf.distribute.MirroredStrategy auf. Sie müssen nur einige Zeilen ändern.

Implementierungsbeispiel mit der Keras-API

Hier bauen wir als einfaches Beispiel ein einfaches Netzwerk mit nur einer verborgenen Schicht auf.

import tensorflow as tf
from tensorflow.keras.models import Model
from tensorflow.keras.layers import Dense, Input
from tensorflow.keras.optimizers import Adam


with tf.distribute.MirroredStrategy().scope():

    #Bauen Sie mit diesem Block ein Netzwerk auf
    x = Input(32, dtype=tf.int32, name='x')
    hidden = Dense(20, activation='relu', name='hidden')(x)
    y = Dense(5, activation='sigmoid', name='y')(hidden)
    model = Model(inputs=x, outputs=y)
    model.compile(
        optimizer=Adam(lr=0.001),
        loss='binary_crossentropy',
    )

model.fit(
    x_train, y_train,
    epochs=10,
    batch_size=16,
)

Beziehung

Die offizielle Dokumentation lautet wie folgt.

Wenn Sie die Keras-API wie in diesem Artikel beschrieben verwenden möchten, aber eine benutzerdefinierte Trainingsschleife implementieren, müssen Sie einige zusätzliche Punkte berücksichtigen. In diesem Fall beziehen Sie sich bitte auf das obige Dokument.

multi_gpu_model () soll nach April 2020 abgeschafft werden.

Recommended Posts

Berechnen Sie mit der gespiegelten Strategie von Tensorflow 2 auf mehreren GPUs
Versuchen Sie es mit Bash unter Windows 10 2 (TensorFlow-Installation)
Warnung bei Verwendung von TensorFlow auf einem Mac
Eine süchtig machende Geschichte bei der Verwendung von Tensorflow unter Android
Hinweise zur Verwendung von TensorFlow unter Bash unter Ubuntu unter Windows