Treine um modelo de machine learning com o TensorFlow 2 no AI Platform Training usando o ambiente de execução versão 2.1 ou posterior. O TensorFlow 2 simplifica muitas APIs a partir do TensorFlow 1. A documentação do TensorFlow fornece um guia para migrar o código do TensorFlow 1 para o TensorFlow 2.
A execução de um job de treinamento com o TensorFlow 2 no AI Platform Training segue o mesmo processo que a execução de outros job de treinamento de código personalizado. No entanto, alguns recursos do AI Platform Training funcionam de forma diferente com o TensorFlow 2 se comparados ao modo que eles funcionam com o TensorFlow 1. Este documento fornece um resumo dessas diferenças.
Suporte à versão Python
Os ambientes de execução de versão 2.1 e posteriores aceitam apenas o treinamento com Python 3.7. Portanto, você precisa usar o Python 3.7 para treinar com o TensorFlow 2.
A Python Software Foundation encerrou o suporte ao Python 2.7 em 1º de janeiro de 2020. Nenhuma versão de ambiente de execução do AI Platform lançada após 1º de janeiro de 2020 é compatível com o Python 2.7.
Treinamento distribuído
O TensorFlow 2 fornece uma API atualizada para treinamento distribuído. Além disso, o
AI Platform Training define a variável de ambiente TF_CONFIG
de maneira diferente nos ambientes de execução
versão 2.1 e posteriores. Esta seção descreve as duas alterações.
Estratégias de distribuição
Para realizar o treinamento distribuído com várias instâncias de máquina virtual (VM) no
TensorFlow 2, use a API tf.distribute.Strategy
.
Em particular, recomendamos que você use a API Keras com o
MultiWorkerMirroredStrategy
ou, se você especificar servidores de parâmetros para seu job,
o
ParameterServerStrategy
.
No entanto, o TensorFlow atualmente oferece apenas suporte
experimental
para essas estratégias.
TF_CONFIG
O TensorFlow espera que uma variável de ambiente
TF_CONFIG
seja
definida em cada VM usada para o treinamento. O AI Platform Training define automaticamente essa
variável de ambiente em cada VM usada no seu job de treinamento. Isso permite que cada VM
se comporte de maneira diferente dependendo de seu tipo e ajuda as VMs a se
comunicarem entre si.
No ambiente de execução versão 2.1 e posterior, o AI Platform Training não usa
mais o tipo de tarefa master
em nenhuma variável de ambiente TF_CONFIG
. Em vez disso, o
master worker do seu job de treinamento é rotulado
com o tipo chief
na variável de ambiente TF_CONFIG
. Saiba mais sobre como o AI Platform Training define a variável
de ambiente TF_CONFIG
.
Aceleradores para treinamento
O AI Platform Training permite acelerar jobs de treinamento com GPUs e TPUs.
GPUs
Para aprender a usar GPUs para treinamento, leia o guia AI Platform Training para configurar GPUs e o TensorFlow para usar GPUs.
Se você quiser treinar em uma única VM com várias GPUs, , a prática
recomendada é usar
MirroredStrategy
do TensorFlow.
Se você quiser treinar usando várias VMs com GPUs, a prática recomendada
é usar MultiWorkerMirroredStrategy
do TensorFlow.
TPUs
Para saber como usar TPUs para o treinamento, leia o guia de treinamento com TPUs.
Ajuste de hiperparâmetros
Se você estiver executando um job de ajuste de hiperparâmetros com o TensorFlow 2, talvez seja necessário ajustar a forma como seu código de treinamento informa a métrica de ajuste de hiperparâmetros para o serviço AI Platform Training.
Se você estiver treinando com um Estimator, poderá gravar sua métrica em um resumo
da mesma forma que faz no TensorFlow 1. Se você estiver treinando com o Keras, recomendamos que use
tf.summary.scalar
para escrever um resumo.
A seguir
- Leia sobre como configurar a versão do ambiente de execução e a versão do Python para um job de treinamento.
- Leia mais sobre a configuração de treinamento distribuído.
- Leia mais sobre ajuste de hiperparâmetro.