Sehr leicht. Bauen Sie einfach ein Netzwerk im Rahmen von tf.distribute.MirroredStrategy tf.distribute.MirroredStrategy
auf. Sie müssen nur einige Zeilen ändern.
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,
)
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