Path: blob/master/site/es-419/tensorboard/get_started.ipynb
25115 views
Copyright 2019 The TensorFlow Authors.
Introducción a TensorBoard
En el aprendizaje automático, para mejorar algo frecuentemente es necesario poder medirlo. TensorBoard es una herramienta que proporciona las medidas y visualizaciones necesarias durante el flujo de trabajo del aprendizaje automático. Permite realizar el seguimiento de métricas de experimentos como la pérdida y la precisión, visualizar el gráfico del modelo, proyectar incrustaciones a un espacio de menor dimensión y mucho más.
Esta guía rápida le mostrará cómo iniciarse rápidamente con TensorBoard. Las guías restantes de este sitio web proporcionan más detalles sobre capacidades específicas, muchas de las cuales no se incluyen aquí.
Utilizando el conjunto de datos MNIST como ejemplo, normalice los datos y escriba una función que cree un modelo Keras sencillo para clasificar las imágenes en 10 clases.
Cómo utilizar TensorBoard con Keras Model.fit()
Cuando se entrena con Model.fit() de Keras, si se agrega la retrollamada tf.keras.callbacks.TensorBoard
se asegura de que los registros se crean y almacenan. Además, active el cálculo del histograma en cada época con histogram_freq=1
(está desactivado de forma predeterminada).
Coloque los registros en un subdirectorio con marca de tiempo para permitir una selección fácil de las diferentes corridas del entrenamiento.
Inicie TensorBoard mediante la línea de comandos o dentro de una experiencia del bloc de notas. Las dos interfaces son generalmente las mismas. En los cuadernos, utilice la magia de la línea %tensorboard
. En la línea de comandos, ejecute el mismo comando sin "%".
Un breve resumen de las visualizaciones creadas en este ejemplo y los paneles de control (pestañas en la barra de navegación superior) donde se pueden encontrar:
Los Escalares muestran cómo cambian la pérdida y las métricas con cada época. Puede utilizarlos para controlar también la velocidad de entrenamiento, la tasa de aprendizaje y otros valores escalares. Los escalares pueden encontrarse en los paneles Serie temporal o Escalares.
Los Gráficos le ayudan a visualizar su modelo. En este caso, se muestra el gráfico de capas de Keras, que puede ayudarle a asegurarse de que está construido correctamente. Los gráficos se encuentran en el panel Gráficos.
Histogramas y Distribuciones muestran la distribución de un Tensor a lo largo del tiempo. Esto puede ser útil para visualizar las ponderaciones y los sesgos y verificar que están cambiando de la forma esperada. Los histogramas pueden encontrarse en los paneles de control Series temporales o Histogramas. Las distribuciones pueden encontrarse en el panel Distribuciones.
Los paneles de control adicionales de TensorBoard se habilitan automáticamente cuando se registran otros tipos de datos. Por ejemplo, la retrollamada de Keras TensorBoard le permite registrar también imágenes e incrustaciones. Puede ver qué otros paneles de control están disponibles en TensorBoard haciendo clic en el menú desplegable "inactivo" situado en la parte superior derecha.
Cómo utilizar TensorBoard con otros métodos
Cuando entrene con métodos como tf.GradientTape()
, utilice tf.summary
para registrar la información necesaria.
Utilice el mismo conjunto de datos que en el caso anterior, pero conviértalo en tf.data.Dataset
para aprovechar las capacidades de procesamiento por lotes:
El código de entrenamiento sigue el tutorial sobre el arranque rápido avanzado, pero muestra cómo registrar las métricas en TensorBoard. Elija la pérdida y el optimizador:
Cree métricas de estado que puedan utilizarse para acumular valores durante el entrenamiento y registrarse en cualquier momento:
Defina las funciones de entrenamiento y de prueba:
Configure los escritores de resúmenes para que escriban los resúmenes en el disco con un directorio de registros diferente:
Inicie el entrenamiento. Utilice tf.summary.scalar()
para registrar las métricas (pérdida y precisión) durante el entrenamiento/prueba en el ámbito de los escritores de resúmenes para escribir los resúmenes en el disco. Usted tiene el control sobre qué métricas registrar y con qué frecuencia hacerlo. Otras funciones tf.summary
permiten registrar otros tipos de datos.
Abra de nuevo TensorBoard, esta vez dirigiéndolo hacia el nuevo directorio de registro. También podríamos haber iniciado TensorBoard para monitorizar el entrenamiento mientras progresa.
Ya está. Ahora han visto cómo utilizar TensorBoard tanto mediante la retrollamada de Keras como por medio de tf.summary
para escenarios más personalizados.
TensorBoard.dev: Aloje y comparta los resultados de sus experimentos de ML
TensorBoard.dev es un servicio público gratuito que le permite subir sus registros de TensorBoard y obtener un permalink que puede ser compartido con todo el mundo en trabajos académicos, entradas de blog, medios sociales, etc. Esto puede permitir una mejor reproducibilidad y colaboración.
Para utilizar TensorBoard.dev, ejecute el siguiente comando:
Tenga en cuenta que esta invocación utiliza el prefijo de exclamación (!
) para invocar el intérprete de comandos en vez del prefijo de porcentaje (%
) para invocar la magia de colab. Al invocar este comando desde la línea de comandos no es necesario ninguno de los dos prefijos.
Vea un ejemplo aquí.
Para obtener más detalles sobre cómo utilizar TensorBoard.dev, consulte https://tensorboard.dev/#get-started.