TensorBoard permite visualizar métricas de entrenamiento, pesos del modelo y salidas de muestra provenientes de trabajos de Deep Learning Containers (DLC). Es posible crear instancias de TensorBoard para explorar y comparar los resultados de entrenamiento de forma interactiva.
Requisitos previos
Antes de empezar, asegúrese de cumplir con los siguientes requisitos:
Un trabajo de entrenamiento de DLC con al menos un conjunto de datos montado (compruébelo en la pestaña Overview). Tipos de almacenamiento compatibles: Object Storage Service (OSS) y Apsara File Storage NAS.
El componente
SummaryWriterde TensorFlow integrado en el script de entrenamiento para escribir registros en un directorio dentro del conjunto de datos montado.
Escritura de registros de entrenamiento
Agregue SummaryWriter a su script de entrenamiento para escribir registros en una ruta dentro del conjunto de datos montado. Cierre el escritor después del entrenamiento para asegurar que todos los datos de registro se vacíen correctamente.
Ejemplo:
Endpoint del conjunto de datos OSS:
oss://your-bucket-name.oss-region-internal.aliyuncs.com/dlc-training-data/Ruta de montaje del conjunto de datos en el contenedor:
/mnt/data/Directorio de salida de registros:
/mnt/data/output/runs
import tensorflow as tf
# Initialize SummaryWriter with logging directory
log_dir = "/mnt/data/output/runs"
writer = tf.summary.create_file_writer(log_dir)
# Training loop with metric logging
for epoch in range(num_epochs):
train_loss = calculate_loss()
train_accuracy = calculate_accuracy()
with writer.as_default():
# Log scalar metrics
tf.summary.scalar("train_loss", train_loss, step=epoch)
tf.summary.scalar("train_accuracy", train_accuracy, step=epoch)
# Log histograms and images every 10 epochs
if epoch % 10 == 0:
tf.summary.histogram("model_weights", model.weights, step=epoch)
tf.summary.image("prediction_samples", sample_predictions, step=epoch)
# Close writer to ensure all logs are saved
writer.close()
print(f'Training completed successfully. Logs saved to: {log_dir}')
La ruta de SummaryWriter (/mnt/data/output/runs) corresponde a la Summary Path especificada al crear la instancia de TensorBoard.
Creación de una instancia de TensorBoard
Inicie sesión en la PAI console. Seleccione la región en la barra de navegación superior y elija un espacio de trabajo. Haga clic en Enter Deep Learning Containers (DLC).
En la columna Actions del trabajo objetivo, haga clic en TensorBoard. En el panel, haga clic en Create TensorBoard.
En la página Create TensorBoard, configure los parámetros y luego haga clic en OK.
Información básica
|
Parámetro |
Descripción |
|
Name |
Nombre de la instancia de TensorBoard. |
|
Datasets |
Seleccione un Configuration Type y especifique la Summary Path (el directorio que contiene los registros de resumen de TensorBoard definidos en |
La siguiente tabla describe las opciones de Configuration Type.
|
Opción |
Descripción |
|
Mount Dataset |
Seleccione un conjunto de datos e introduzca la ruta relativa del directorio de resúmenes dentro del conjunto de datos. |
|
Mount OSS |
Seleccione una ruta de almacenamiento OSS e introduzca la ruta relativa del directorio de resúmenes en OSS. |
|
By Task |
Seleccione un trabajo de DLC e introduzca la ruta completa de los archivos de registro en el contenedor. |
Configuración de recursos
|
Tipo de recurso |
Descripción |
|
Free Quota |
Recursos gratuitos proporcionados por el sistema. Cada instancia puede usar hasta 2 vCPU y 4 GiB de memoria. Para liberar cuota, deshabilite las instancias que ejecutan recursos gratuitos y utilice la cuota liberada para una nueva instancia. |
|
General Computing |
Elija Public Resources o Resource Quota. Consulte la siguiente tabla para obtener más detalles. |
La siguiente tabla describe las opciones de General Computing.
|
Opción |
Descripción |
|
Public Resources |
Facturación pay-as-you-go. Solo la computación general utiliza recursos públicos. Seleccione un tipo de instancia según los requisitos de la carga de trabajo. |
|
Resource Quota |
Facturación por suscripción. Antes de seleccionar esta opción, purchase computing resources y create quotas. Esta opción solo está disponible para usuarios incluidos en la lista blanca. Póngase en contacto con el administrador de cuentas para habilitarla. |
Al utilizar Resource Quota, configure los siguientes parámetros:
|
Parámetro |
Descripción |
|
Priority |
Prioridad de la instancia de TensorBoard. Valores válidos: 1 a 9. El valor 1 indica la prioridad más baja. |
|
Job Resource |
Recursos asignados a la instancia de TensorBoard: vCPUs y Memory (GiB). |
Configuración de VPC
Los parámetros de VPC aplican únicamente cuando se utilizan Public Resources. Sin una VPC, el sistema se conecta a través de Internet, lo cual puede provocar un inicio más lento de TensorBoard o una carga tardía de informes debido al ancho de banda limitado.
Si la instancia de TensorBoard utiliza un conjunto de datos que requiere VPC, como Cloud Parallel File Storage (CPFS) o NAS con un punto de montaje VPC, configure una VPC.
Seleccione una VPC, un vSwitch y un security group en la región actual. Después de la configuración, el clúster que ejecuta la instancia de TensorBoard podrá acceder a los servicios en la VPC seleccionada y utilizará el security group especificado para el control de acceso.
Consulta de informes de TensorBoard
En el panel de navegación izquierdo de la página del espacio de trabajo, seleccione .
En la pestaña TensorBoard, revise la columna Status. Cuando el estado sea Running, haga clic en View TensorBoard en la columna Actions.
La página de TensorBoard muestra las métricas de entrenamiento y los datos registrados, como tendencias escalares, histogramas e imágenes.
Gestión de instancias de TensorBoard
Inicie sesión en la PAI console. Seleccione la región en la barra de navegación superior y elija un espacio de trabajo. Haga clic en Enter Jobs.
En la pestaña TensorBoard, realice cualquiera de las siguientes operaciones:
|
Operación |
Pasos |
|
Iniciar una instancia |
Haga clic en Start en la columna Actions para reiniciar una instancia detenida |
|
Ver detalles de la instancia |
Haga clic en el nombre de la instancia para abrir la página de detalles, donde se muestran la Basic Information y la Configuration Information |
|
Ver trabajos de DLC asociados |
En la columna Associated Task, pase el cursor sobre el icono para ver el ID del trabajo. Haga clic en el ID para abrir la página de detalles del trabajo |
|
Ver conjuntos de datos asociados |
En la columna Associated Dataset, pase el cursor sobre el icono para ver el ID del conjunto de datos. Haga clic en el ID para abrir la página de detalles del conjunto de datos |
|
Ver duración de ejecución |
La columna Running Duration muestra cuánto tiempo ha estado ejecutándose la instancia desde el último inicio. La duración se restablece cuando se detiene la instancia |
|
Detener una instancia |
Haga clic en Stop en la columna Actions. Para programar una hora de detención automática, haga clic en Auto-stop Settings en la columna Actions |
Solución de problemas
|
Problema |
Solución |
|
TensorBoard no se inicia |
Compruebe el montaje del conjunto de datos en la pestaña Overview. Confirme que la ruta de registro exista dentro del almacenamiento montado. Verifique los permisos de Resource Access Management (RAM) para acceder al conjunto de datos |
|
Los informes cargan lentamente |
Reduzca la frecuencia de registro para experimentos con gran volumen de datos. Considere usar procesamiento incremental de registros u organizar los registros en subdirectorios más pequeños |
|
Acceso denegado o errores de conectividad |
Valide la conectividad de red y los permisos de RAM. Revise las configuraciones del security group. Si utiliza un conjunto de datos dependiente de VPC, asegúrese de que la instancia de TensorBoard esté configurada con la misma VPC |
|
Alto uso de CPU o memoria |
Supervise la utilización de recursos. Si utiliza Free Quota, considere cambiar a General Computing con más recursos |
Mejores prácticas
Comience con 2 a 4 vCPU y 4 a 8 GiB de memoria para cargas de trabajo típicas.
Organice los registros por tipo de experimento y marca de tiempo (por ejemplo,
/mnt/data/output/runs/experiment_type/date_time/).Elimine periódicamente los registros de entrenamiento obsoletos para reducir costos de almacenamiento y mejorar el rendimiento.
Utilice asignaciones de roles de RAM para restringir el acceso a la instancia de TensorBoard únicamente a miembros autorizados del equipo.
Referencias
Create and manage TensorBoard instances: Cree una instancia de TensorBoard desde la página .