Entrena un modelo de aprendizaje automático con TensorFlow 2 AI Platform Training con la versión del entorno de ejecución 2.1 o posterior. TensorFlow 2 simplifica muchas API de TensorFlow 1. En la documentación de TensorFlow, se proporciona una guía para migrar el código de TensorFlow 1 a TensorFlow 2.
Ejecutar un trabajo de entrenamiento con TensorFlow 2 en AI Platform Training implica seguir el mismo proceso que ejecutar otros trabajos de entrenamiento de código personalizado. Sin embargo, algunas características de AI Platform Training funcionan de manera diferente con TensorFlow 2 en comparación con su funcionamiento con TensorFlow 1. En este documento, se proporciona un resumen de estas diferencias.
Versiones de Python compatibles
Las versiones del entorno de ejecución 2.1 y posteriores solo admiten el entrenamiento con Python 3.7. Por lo tanto, debes usar Python 3.7 para entrenar con TensorFlow 2.
Python Software Foundation finalizó la compatibilidad para Python 2.7 el 1 de enero de 2020. Ninguna versión del entorno de ejecución de AI Platform actualizada después del 1 de enero de 2020 es compatible con Python 2.7.
Entrenamiento distribuido
TensorFlow 2 proporciona una API actualizada para el entrenamiento distribuido. Además, AI Platform Training configura la variable de entorno TF_CONFIG
de manera diferente en las versiones del entorno de ejecución 2.1 y posteriores. En esta sección, se describen ambos cambios.
Estrategias de distribución
Si deseas realizar un entrenamiento distribuido con varias instancias de máquinas virtuales (VM) en TensorFlow 2, usa la API de tf.distribute.Strategy
.
En particular, te recomendamos que uses la API de Keras junto con la MultiWorkerMirroredStrategy
o, si especificas los servidores de parámetros para el trabajo, la ParameterServerStrategy
.
Sin embargo, ten en cuenta que, en la actualidad, TensorFlow solo proporciona compatibilidad experimental para estas estrategias.
TF_CONFIG
TensorFlow espera que se establezca una variable de entorno TF_CONFIG
en cada VM que se usa para el entrenamiento. AI Platform Training configura de manera automática esta variable de entorno en cada VM que se usa en tu trabajo de entrenamiento. Esto permite que cada una se comporte de manera diferente según su tipo y que se comuniquen entre sí.
En la versión del entorno de ejecución 2.1 y posteriores, AI Platform Training ya no usa el tipo de tarea master
en ninguna variable de entorno TF_CONFIG
. En su lugar, el trabajador principal de tu trabajo de entrenamiento está etiquetado con el tipo chief
en la variable de entorno TF_CONFIG
. Obtén más información sobre cómo AI Platform Training establece la variable de entorno TF_CONFIG
.
Aceleradores para el entrenamiento
AI Platform Training te permite acelerar tus trabajos de entrenamiento con GPU y TPU.
GPU
Si deseas aprender a usar las GPU para el entrenamiento, lee la guía de AI Platform Training sobre la configuración de GPU y la guía de TensorFlow sobre el uso de GPU.
Si deseas entrenar en una VM con varias GPU, la práctica recomendada es usar la MirroredStrategy
de TensorFlow.
Si deseas entrenar mediante varias VM con GPU, la práctica recomendada es usar MultiWorkerMirroredStrategy
de TensorFlow.
TPU
Si deseas obtener información sobre cómo usar las TPU para el entrenamiento, lee la guía sobre cómo entrenar con TPU.
Ajuste de hiperparámetros
Si ejecutas un trabajo de ajuste de hiperparámetros con TensorFlow 2, es posible que debas ajustar la forma en la que tu código de entrenamiento informa sobre la métrica de ajuste de hiperparámetros al servicio de AI Platform Training.
Si entrenas con un Estimador, puedes escribir tu métrica en un resumen de la misma manera que lo haces en TensorFlow 1. Si entrenas con Keras, te recomendamos que uses tf.summary.scalar
para escribir un resumen.
¿Qué sigue?
- Lee sobre cómo configurar la versión del entorno de ejecución y la versión de Python para un trabajo de entrenamiento.
- Obtén más información sobre cómo configurar el entrenamiento distribuido.
- Obtén más información sobre el ajuste de hiperparámetros.