Très facile. Construisez simplement un réseau dans le cadre de tf.distribute.MirroredStrategy tf.distribute.MirroredStrategy
. Il vous suffit de modifier quelques lignes.
Ici, à titre d'exemple simple, nous construisons un réseau simple avec une seule couche cachée.
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():
#Construisez un réseau avec ce bloc
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,
)
La documentation officielle est la suivante.
Si vous souhaitez utiliser l'API Keras telle quelle, comme présenté dans cet article, mais si vous implémentez une boucle d'entraînement personnalisée, vous devez prendre en compte certains points supplémentaires. Dans ce cas, veuillez vous référer au document ci-dessus.
multi_gpu_model ()
devrait être aboli après avril 2020.
Recommended Posts