Trabajos de visualización de TensorBoard
ModelArts es compatible con TensorBoard para visualizar los trabajos de entrenamiento. TensorBoard es un paquete de las herramientas de visualización de TensorFlow. Proporciona las funciones y herramientas de visualización necesarias para los experimentos de aprendizaje automático.
TensorBoard muestra eficazmente el gráfico computacional de TensorFlow en el proceso de ejecución, la tendencia de todas las métricas en el tiempo y los datos utilizados en el entrenamiento.
Requisitos previos
Cuando escriba un script de entrenamiento, agregue el código para recopilar el registro de resumen al script para asegurarse de que el archivo de resumen se genera en el resultado de entrenamiento.
Para obtener detalles sobre cómo agregar el código para recopilar el registro de resumen a un script de entrenamiento impulsado por TensorFlow, consulte el sitio web oficial de TensorFlow.
Nota
- Un trabajo de visualización en ejecución no se factura por separado. Cuando se detiene la instancia del notebook de destino, la facturación se detiene.
- Si el archivo de resumen se almacena en OBS, se le cobrará por el almacenamiento. Después de completar un trabajo, detenga la instancia de notebook y borre los datos de OBS para detener la facturación.
Proceso de creación de un trabajo de visualización de TensorBoard en un entorno de desarrollo
Paso 1 Crear un entorno de desarrollo y acceda a él en línea
Paso 1 Crear un entorno de desarrollo y acceda a él en línea
En la consola de gestión de ModelArts, seleccione DevEnviron > Notebook y cree una instancia con una imagen de TensorFlow o PyTorch. Una vez creada la instancia, haga clic en Open en la columna Operation de la instancia para acceder a ella en línea.
Solo las variantes de CPU y GPU con TensorFlow2.1, PyTorch1.4 o PyTorch1.8 y posteriores pueden admitir la visualización de TensorBoard para trabajos de entrenamiento. Seleccione las imágenes y variantes según los requisitos del sitio.
Paso 2 Subir los datos de resumen
Los datos de resumen son necesarios para utilizar las funciones de visualización de TensorBoard en DevEnviron.
Puede cargar los datos de resumen en el directorio /home/ma-user/work/ en el entorno de desarrollo o almacenarlos en el sistema de archivos paralelo de OBS.
- Para obtener más información sobre cómo cargar los datos de resumen en la ruta del notebook /home/ma-user/work/, consulte la sección Carga de archivos a JupyterLab.
- Para almacenar los datos de resumen en un sistema de archivos paralelo de OBS montado en una instancia de notebook, cargue el archivo de resumen generado durante el entrenamiento del modelo en el sistema de archivos paralelo de OBS y asegúrese de que el sistema de archivos paralelo de OBS y ModelArts estén en la misma región. Cuando se inicia TensorBoard en una instancia de notebook, la instancia de notebook monta automáticamente el directorio del sistema de archivos paralelo de OBS y lee los datos de resumen.
Paso 3 Iniciar TensorBoard
Existen varios métodos para abrir TensorBoard de JupyterLab en el entorno de desarrollo. Seleccione uno en función de sus hábitos.
Método 1 (recomendado):
- Abra JupyterLab en el panel de navegación de la izquierda, cree la carpeta summary y cargue datos en /home/ma-user/work/summary. El nombre de la carpeta debe ser summary.
- Vaya a la carpeta summary y haga clic en para ir a la página de TensorBoard. Consulte Figura 2.
Método 2
Puede actualizar TensorBoard a cualquier versión excepto 2.4.0. Después de la actualización, la nueva versión de TensorBoard solo se utiliza en el método 2. Para otros métodos, utilice TensorBoard 2.1.1.
- Haga clic en para ir al entorno de desarrollo JupyterLab. El archivo .ipynb se crea automáticamente.
- Escriba el siguiente comando en el cuadro de diálogo:
%reload_ext ma_tensorboard %ma_tensorboard --port {PORT} --logdir {BASE_DIR}
Parámetros:
- port {PORT}: puerto de servicio web para visualización, que por defecto es 8080. Si se ha utilizado el puerto predeterminado 8080, especifique un puerto comprendido entre 1 y 65535.
- logdir {BASE_DIR}: ruta de almacenamiento de datos en el entorno de desarrollo
- Ruta local del entorno de desarrollo: ./work/xxx (ruta relativa) o /home/ma-user/work/xxx (ruta absoluta)
- Ruta del sistema de archivos paralelos de OBS obs://xxx/
Example: # If the summary data is stored in /home/ma-user/work/ of the development environment, run the following command: %ma_tensorboard --port {PORT} --logdir /home/ma-user/work/xxx or # If the summary data is stored in the OBS parallel file system, run the following command and the development environment automatically mounts the storage path of the OBS parallel file system and reads data. %ma_tensorboard --port {PORT} --logdir obs://xxx/
Figura 3 Página de TensorBoard (2)
Método 3
- Elija View > Activate Command Palette, escriba TensorBoard en el cuadro de búsqueda y haga clic en Create a new TensorBoard.
Figura 4 Crear un nuevo TensorBoard
- Introduzca la ruta de acceso de los datos de resumen que desea ver o la ruta de acceso de almacenamiento del sistema de archivos paralelo de OBS.
- Ruta local del entorno de desarrollo: ./summary (ruta relativa) o /home/ma-user/work/summary (ruta absoluta)
- Ruta del bucket del sistema de archivos paralelo de OBS: obs://xxx/
Figura 5 Introducción de la ruta de datos de resumen
Figura 6 Página de TensorBoard (3)
Método 4
Haga clic en y ejecute el siguiente comando. No se mostrará la interfaz de usuario.
tensorboard --logdir ./log
Paso 4 Ver datos visualizados en el panel de entrenamiento
Para visualizar TensorBoard, necesita el panel de entrenamiento. Permite visualizar escalares, imágenes y gráficos computacionales.
Para obtener más funciones, consulte los Pasos iniciales con TensorBoard.
Operaciones relacionadas
Para detener una instancia de TensorBoard, utilice uno de los métodos siguientes:
- Método 1: Haga clic en . Se muestra la página de gestión de instancias de TensorBoard, que muestra todas las instancias de TensorBoard iniciadas. Haga clic en SHUT DOWN junto a una instancia.
Figura 8 Haga clic en SHUT DOWN para detener una instancia
- Método 2: Ingrese el siguiente comando en la ventana del archivo .ipynb de JupyterLab (Obtenga PID en la pantalla de inicio o con el comando ps -ef | grep tensorboard:
!kill PID
- Método 3: Haga clic en como se muestra en la siguiente figura para detener todas las instancias de TensorBoard iniciadas.
Figura 9 Detener todas las instancias de TensorBoard iniciadas
- (No recomendado) Método 4: Cerrar la ventana de TensorBoard en JupyterLab. Este método cierra solo la ventana, pero la instancia sigue ejecutándose en el backend.