Path: blob/master/site/pt-br/guide/migrate/mirrored_strategy.ipynb
25118 views
Copyright 2021 The TensorFlow Authors.
Como migrar o treinamento de um worker com multiplas GPUs
Este guia demonstra como migrar os workflows de um worker com múltiplas GPUs, do TensorFlow 1 para o TensorFlow 2.
Para realizar treinamento síncrono em múltiplas GPUs de uma única máquina:
No TensorFlow 1, você usa as APIs
tf.estimator.Estimator
comtf.distribute.MirroredStrategy
.No TensorFlow 2, você pode usar Keras Model.fit ou um loop de treinamento personalizado com
tf.distribute.MirroredStrategy
. Saiba mais no guia Treinamento distribuído com TensorFlow.
Configuração
Comece com os imports e um dataset simples para fins de demonstração:
TensorFlow 1: treinamento distribuído de um único worker com tf.estimator.Estimator
Este exemplo demonstra o workflow canônico do TensorFlow 1 para treinamento multi-GPU com um único worker. Você precisa definir a estratégia de distribuição (tf.distribute.MirroredStrategy
) através do parâmetro config
do tf.estimator.Estimator
:
TensorFlow 2: Treinamento de um único worker com Keras
Ao migrar para o TensorFlow 2, você pode usar as APIs Keras com tf.distribute.MirroredStrategy
.
Se você usar as APIs tf.keras
para construção de modelo e Keras Model.fit
para treinamento, a principal diferença será instanciar o modelo Keras, um otimizador e métricas no contexto de Strategy.scope
, em vez de definir uma config
para tf.estimator.Estimator
.
Se você precisar usar um loop de treinamento personalizado, veja o guia Usando tf.distribute.Strategy com loops de treinamento personalizados.
Próximos passos
Para saber mais sobre treinamento distribuído com tf.distribute.MirroredStrategy
no TensorFlow 2, confira a seguinte documentação: