TensorBoard permet de visualiser les métriques d'entraînement, les poids des modèles et les exemples de sorties issus des jobs Deep Learning Containers (DLC). Créez des instances TensorBoard pour explorer et comparer interactivement les résultats d'entraînement.
Prérequis
Avant de commencer, vérifiez que les conditions suivantes sont remplies :
Un job d'entraînement DLC avec au moins un dataset monté (vérification dans l'onglet Overview). Types de stockage pris en charge : Object Storage Service (OSS) et Apsara File Storage NAS.
L'objet
SummaryWriterde TensorFlow est intégré au script d'entraînement pour écrire les journaux dans un répertoire du dataset monté.
Écrire les journaux d'entraînement
Ajoutez SummaryWriter à votre script d'entraînement afin d'écrire les journaux dans un chemin du dataset monté. Fermez l'objet writer après l'entraînement pour garantir la vidange de toutes les données de journalisation.
Exemple :
Endpoint du dataset OSS :
oss://your-bucket-name.oss-region-internal.aliyuncs.com/dlc-training-data/Chemin de montage du dataset dans le conteneur :
/mnt/data/Répertoire de sortie des journaux :
/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}')
Le chemin SummaryWriter (/mnt/data/output/runs) correspond au Summary Path spécifié lors de la création de l'instance TensorBoard.
Créer une instance TensorBoard
Connectez-vous à la PAI console. Sélectionnez la région dans la barre de navigation supérieure, puis choisissez un workspace. Cliquez sur Enter Deep Learning Containers (DLC).
Dans la colonne Actions du job cible, cliquez sur TensorBoard. Dans le panneau qui s'affiche, cliquez sur Create TensorBoard.
Sur la page Create TensorBoard, configurez les paramètres, puis cliquez sur OK.
Informations de base
| Parameter | Description |
|---|---|
| Name | Nom de l'instance TensorBoard. |
| Datasets | Sélectionnez un Configuration Type et spécifiez le Summary Path (le répertoire contenant les journaux de résumé TensorBoard définis dans SummaryWriter du code d'entraînement). |
Le tableau suivant décrit les options disponibles pour Configuration Type.
| Option | Description |
|---|---|
| Mount Dataset | Sélectionnez un dataset et saisissez le chemin relatif du répertoire de résumé dans ce dataset. |
| Mount OSS | Sélectionnez un chemin de stockage OSS et saisissez le chemin relatif du répertoire de résumé dans OSS. |
| By Task | Sélectionnez un job DLC et saisissez le chemin complet des fichiers journaux dans le conteneur. |
Configuration des ressources
| Resource type | Description |
|---|---|
| Free Quota | Ressources gratuites fournies par le système. Chaque instance peut utiliser jusqu'à 2 vCPUs et 4 GiB de mémoire. Pour libérer du quota, désactivez les instances fonctionnant sur des ressources gratuites, puis utilisez le quota libéré pour une nouvelle instance. |
| General Computing | Choisissez entre Public Resources ou Resource Quota. Consultez le tableau ci-dessous pour plus de détails. |
Le tableau suivant détaille les options de General Computing.
| Option | Description |
|---|---|
| Public Resources | Facturation au paiement à l'utilisation. Seules les ressources de calcul général utilisent les ressources publiques. Sélectionnez un type d'instance en fonction des besoins de la charge de travail. |
| Resource Quota | Facturation par abonnement. Avant de sélectionner cette option, achetez des ressources de calcul et créez des quotas. Cette option est disponible uniquement pour les utilisateurs sur liste blanche. Contactez le gestionnaire de compte pour l'activer. |
Lorsque vous utilisez Resource Quota, configurez les paramètres suivants :
| Parameter | Description |
|---|---|
| Priority | Priorité de l'instance TensorBoard. Valeurs valides : 1 à 9. La valeur 1 indique la priorité la plus basse. |
| Job Resource | Ressources allouées à l'instance TensorBoard : vCPUs et Memory (GiB). |
Configuration VPC
Les paramètres VPC s'appliquent uniquement lorsque vous utilisez Public Resources. Sans VPC, le système se connecte via Internet, ce qui peut ralentir le démarrage de TensorBoard ou le chargement des rapports en raison d'une bande passante limitée.
Si l'instance TensorBoard utilise un dataset nécessitant un VPC, tel que Cloud Parallel File Storage (CPFS) ou NAS avec une cible de montage VPC, configurez un VPC.
Sélectionnez un VPC, un vSwitch et un security group dans la région actuelle. Après configuration, le cluster exécutant l'instance TensorBoard peut accéder aux services du VPC sélectionné et utilise le groupe de sécurité spécifié pour le contrôle d'accès.
Afficher les rapports TensorBoard
Dans le volet de navigation de gauche de la page du workspace, choisissez .
Dans l'onglet TensorBoard, vérifiez la colonne Status. Lorsque le statut est Running, cliquez sur View TensorBoard dans la colonne Actions.
La page TensorBoard affiche vos métriques d'entraînement et les données journalisées, telles que les tendances scalaires, les histogrammes et les images.
Gérer les instances TensorBoard
Connectez-vous à la PAI console. Sélectionnez la région dans la barre de navigation supérieure, puis choisissez un workspace. Cliquez sur Enter Jobs.
Dans l'onglet TensorBoard, effectuez l'une des opérations suivantes :
| Operation | Steps |
|---|---|
| Démarrer une instance | Cliquez sur Start dans la colonne Actions pour redémarrer une instance arrêtée. |
| Afficher les détails de l'instance | Cliquez sur le nom de l'instance pour ouvrir la page de détails affichant les Basic Information et les Configuration Information. |
| Afficher les jobs DLC associés | Dans la colonne Associated Task, survolez l'icône pour afficher l'ID du job. Cliquez sur l'ID pour ouvrir la page de détails du job. |
| Afficher les datasets associés | Dans la colonne Associated Dataset, survolez l'icône pour afficher l'ID du dataset. Cliquez sur l'ID pour ouvrir la page de détails du dataset. |
| Afficher la durée d'exécution | La colonne Running Duration indique la durée pendant laquelle l'instance a été en cours d'exécution depuis le dernier démarrage. La durée est réinitialisée lorsque l'instance est arrêtée. |
| Arrêter une instance | Cliquez sur Stop dans la colonne Actions. Pour planifier l'heure d'arrêt automatique, cliquez sur Auto-stop Settings dans la colonne Actions. |
Dépannage
| Issue | Solution |
|---|---|
| Échec du démarrage de TensorBoard | Vérifiez le montage du dataset dans l'onglet Overview. Confirmez que le chemin des journaux existe dans le stockage monté. Vérifiez les permissions Resource Access Management (RAM) pour l'accès au dataset. |
| Chargement lent des rapports | Réduisez la fréquence de journalisation pour les expériences générant un volume élevé de données. Envisagez d'utiliser un traitement incrémentiel des journaux ou d'organiser les journaux dans des sous-répertoires plus petits. |
| Erreurs d'accès refusé ou de connectivité | Validez la connectivité réseau et les permissions RAM. Vérifiez les configurations des groupes de sécurité. Si vous utilisez un dataset dépendant d'un VPC, assurez-vous que l'instance TensorBoard est configurée avec le même VPC. |
| Utilisation élevée du CPU ou de la mémoire | Surveillez l'utilisation des ressources. Si vous utilisez Free Quota, envisagez de passer à General Computing avec davantage de ressources. |
Bonnes pratiques
Commencez avec 2 à 4 vCPUs et 4 à 8 GiB de mémoire pour les charges de travail typiques.
Organisez les journaux par type d'expérience et horodatage (par exemple,
/mnt/data/output/runs/experiment_type/date_time/).Nettoyez régulièrement les journaux d'entraînement obsolètes pour réduire les coûts de stockage et améliorer les performances.
Utilisez les attributions de rôles RAM pour restreindre l'accès aux instances TensorBoard aux membres autorisés de l'équipe.
Références
Créer et gérer des instances TensorBoard : Créez une instance TensorBoard depuis la page .