YOLO Vision 2026 :
Acquisition de Neptune et fin de vie du SaaS

Neptune a conclu un accord pour être acquis par OpenAI et mettra fin à son service hébergé (SaaS) après une période de transition se terminant le 4 mars 2026. Consultez l'annonce officielle et planifiez vos migrations ou exportations en conséquence.

Suivi des expériences avec Neptune#

Neptune est un magasin de métadonnées pour le MLOps, conçu pour les équipes qui mènent de nombreuses expériences. Il t'offre un emplacement unique pour consigner, stocker, afficher, organiser, comparer et interroger toutes les métadonnées de création de tes modèles.

Ultralytics YOLO26 s'intègre avec Neptune pour rationaliser le suivi des expériences. Cette intégration te permet de consigner automatiquement les métriques d'entraînement, de visualiser les prédictions des modèles et de stocker les artefacts des modèles sans écrire de code de journalisation personnalisé.

Neptune.ai ML experiment tracking dashboard

Fonctionnalités clés#

  • Journalisation automatisée : Consigne automatiquement les métriques d'entraînement clés telles que la perte de boîte, la perte de classification et le mAP.
  • Visualisation d'images : Affiche les mosaïques d'entraînement et les prédictions de validation directement dans le tableau de bord Neptune.
  • Points de contrôle des modèles : Télécharge et contrôle automatiquement la version des poids de ton modèle entraîné (best.pt) à la fin de l'entraînement.
  • Suivi des hyperparamètres : Consigne tous les paramètres de configuration pour assurer la reproductibilité complète de tes expériences.
  • Graphiques interactifs : Visualise les matrices de confusion et les courbes précision-rappel pour analyser les performances du modèle.

Installation#

Pour utiliser Neptune avec Ultralytics, tu devras installer le package client neptune ainsi que ultralytics.

Installation
# Install the required packages
pip install ultralytics neptune

# Enable Neptune integration in Ultralytics settings
yolo settings neptune=True

Configuration#

Avant de commencer l'entraînement, tu dois connecter ton environnement local à ton projet Neptune. Tu auras besoin de ton Jeton API et du Nom du projet depuis ton tableau de bord Neptune.

Obtiens tes identifiants#

  1. Connecte-toi à Neptune.ai.
  2. Crée un nouveau projet (ou sélectionne-en un existant).
  3. Accède à ton menu utilisateur et récupère ton Jeton API.

Définit les variables d'environnement#

La manière la plus sécurisée de gérer les identifiants est via des variables d'environnement. Note que le callback Neptune d'Ultralytics lit l'argument YOLO project et n'utilise pas NEPTUNE_PROJECT. Transmets le slug Neptune complet (par exemple, workspace/name) via project= dans ta commande d'entraînement ; sinon, Neptune essaiera d'utiliser la valeur par défaut littérale "Ultralytics" et l'exécution échouera.

export NEPTUNE_API_TOKEN="your_long_api_token_here" # required

Utilisation#

Une fois configuré, tu peux commencer à entraîner tes modèles YOLO26. L'intégration Neptune fonctionne automatiquement lorsque le package neptune est installé et que l'intégration est activée dans les paramètres.

Exemple d'entraînement#

Entraîne YOLO26 avec la journalisation Neptune
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")

# Train the model
# Pass the Neptune project slug as the 'project' argument (workspace/name)
results = model.train(data="coco8.yaml", epochs=10, project="my-workspace/my-project", name="experiment-1")

Comprendre l'intégration#

Le schéma suivant illustre comment le pipeline d'entraînement Ultralytics interagit avec Neptune pour consigner divers artefacts et métriques.

graph LR
    A[YOLO Training Loop]:::start --> B{Neptune Callback}:::decide
    B -->|Log Scalars| C[Loss, mAP, LR]:::proc
    B -->|Log Images| D[Mosaics, Preds]:::proc
    B -->|Log Artifacts| E[Model Weights]:::proc
    B -->|Log Metadata| F[Hyperparameters]:::proc

    C --> G[Neptune Server]:::extern
    D --> G
    E --> G
    F --> G

    G --> H[Neptune Web Dashboard]:::out

    classDef start fill:#4CAF50,color:#fff
    classDef proc fill:#2196F3,color:#fff
    classDef decide fill:#FF9800,color:#fff
    classDef out fill:#9C27B0,color:#fff
    classDef extern fill:#607D8B,color:#fff

Qu'est-ce qui est consigné ?#

Lorsque tu exécutes la commande d'entraînement, l'intégration Neptune capture automatiquement la structure de données suivante dans ton exécution :

  1. Configuration/Hyperparamètres : Tous les arguments d'entraînement (époques, lr0, optimiseur, etc.) sont consignés sous la section Configuration.
  2. Configuration/Modèle : L'architecture et la définition du modèle.
  3. Métriques :
    • Train : box_loss, cls_loss, dfl_loss, lr (taux d'apprentissage).
    • Métriques : precision, recall, mAP50, mAP50-95.
  4. Images :
    • Mosaic : Lots d'entraînement montrant l'augmentation des données.
    • Validation : Étiquettes de vérité terrain et prédictions du modèle sur les données de validation.
    • Plots : Matrices de confusion, courbes Précision-Rappel.
  5. Poids : Le modèle entraîné final (best.pt) est téléchargé dans le dossier weights de l'exécution Neptune.

Utilisation avancée#

Organisation des exécutions#

Tu peux utiliser les arguments standard Ultralytics project et name pour organiser tes exécutions dans Neptune.

  • project : Doit être le slug du projet Neptune workspace/name ; c'est ce que le callback transmet à neptune.init_run.
  • name : Sert d'identifiant pour l'exécution spécifique.

Journalisation personnalisée#

Si tu dois consigner des métriques personnalisées supplémentaires en plus de la journalisation automatique, tu peux accéder à l'instance d'exécution Neptune. Note que tu devras modifier la logique de l'entraîneur ou créer un callback personnalisé pour accéder à l'objet d'exécution spécifique, car l'intégration Ultralytics gère le cycle de vie de l'exécution en interne.

FAQ#

Comment désactiver la journalisation Neptune ?#

Si tu as installé neptune mais que tu souhaites désactiver la journalisation pour une session spécifique ou globalement, tu peux modifier les paramètres YOLO.

# Disable Neptune integration
yolo settings neptune=False

Mes images ne sont pas téléchargées. Quel est le problème ?#

Assure-toi que ton réseau autorise les connexions aux serveurs de Neptune. De plus, la journalisation des images se produit généralement à des intervalles spécifiques (par exemple, fin des époques ou fin de l'entraînement). Si tu interromps l'entraînement prématurément en utilisant Ctrl+C, certains artefacts finaux comme les matrices de confusion ou les meilleurs poids de modèle pourraient ne pas être téléchargés.

Puis-je consigner dans un identifiant d'exécution Neptune spécifique ?#

L'intégration actuelle crée automatiquement une nouvelle exécution pour chaque session d'entraînement. Pour reprendre la journalisation dans une exécution existante, tu devrais généralement gérer l'initialisation de Neptune manuellement dans le code Python, ce qui sort du cadre de l'intégration automatique. Cependant, Ultralytics prend en charge la reprise de l'entraînement localement, ce qui créera une nouvelle exécution dans Neptune pour suivre les époques reprises.

Où puis-je trouver les poids du modèle dans Neptune ?#

Dans ton tableau de bord Neptune, navigue vers la section Artifacts ou All Metadata. Tu y trouveras un dossier weights contenant ton fichier best.pt, que tu peux télécharger pour le déploiement.

Commentaires