Vai al contenuto

Acquisizione di Neptune e deprecazione del SaaS

Neptune ha stipulato un accordo per essere acquisita da OpenAI e interromperà il suo servizio ospitato (SaaS) dopo un periodo di transizione che terminerà il 4 marzo 2026. Esaminare l'annuncio ufficiale e pianificare migrazioni o esportazioni di conseguenza.

Tracciamento degli Esperimenti con Neptune

Neptune è un archivio di metadati per MLOps, creato per i team che eseguono molti esperimenti. Offre un unico luogo per registrare, archiviare, visualizzare, organizzare, confrontare e interrogare tutti i metadati di costruzione del modello.

Ultralytics YOLO26 si integra con Neptune per ottimizzare l'experiment tracking. Questa integrazione consente di registrare automaticamente le metriche di training, visualizzare le predizioni del modello e archiviare gli artefatti del modello senza scrivere codice di logging personalizzato.

Panoramica della Dashboard Neptune.ai

Caratteristiche principali

  • Registrazione Automatica: Registra automaticamente le metriche chiave di addestramento come la perdita del box, la perdita di classificazione e mAP.
  • Visualizzazione Immagini: Visualizza i mosaici di addestramento e le predizioni di validazione direttamente nella dashboard di Neptune.
  • Checkpointing del Modello: Carica e controlla la versione dei pesi del modello addestrato (best.pt) automaticamente al termine dell'addestramento.
  • Monitoraggio degli Iperparametri: Registra tutti i parametri di configurazione per garantire la piena riproducibilità dei tuoi esperimenti.
  • Plot Interattivi: Visualizza matrici di confusione e curve precisione-richiamo per analizzare le prestazioni del modello.

Installazione

Per utilizzare Neptune con Ultralytics, sarà necessario installare il neptune pacchetto client insieme a ultralytics.

Installazione

# Install the required packages
pip install ultralytics neptune

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

Configurazione

Prima di iniziare l'addestramento, è necessario connettere il proprio ambiente locale al progetto Neptune. Avrai bisogno del tuo API Token e del Project Name dalla tua dashboard Neptune.

1. Ottieni le Tue Credenziali

  1. Accedi a Neptune.ai.
  2. Crea un nuovo progetto (o selezionane uno esistente).
  3. Vai al tuo menu utente e recupera il tuo API Token.

2. Impostare le Variabili d'Ambiente

Il modo più sicuro per gestire le credenziali è tramite variabili d'ambiente. Si noti che la callback Ultralytics Neptune legge il YOLO project argomento e non utilizza NEPTUNE_PROJECT. Passa lo slug completo di Neptune (ad es., workspace/name) tramite project= nel tuo comando di addestramento; altrimenti Neptune tenterà di utilizzare il valore predefinito letterale "Ultralytics" e l'esecuzione fallirà.

export NEPTUNE_API_TOKEN="your_long_api_token_here" # required
$Env:NEPTUNE_API_TOKEN = "your_long_api_token_here"  # required
import os

os.environ["NEPTUNE_API_TOKEN"] = "your_long_api_token_here"
os.environ["NEPTUNE_PROJECT"] = "your_workspace/your_project"

Utilizzo

Una volta configurato, puoi iniziare ad addestrare i tuoi modelli YOLO26. L'integrazione Neptune funziona automaticamente quando il neptune pacchetto è installato e l'integrazione è abilitata nelle impostazioni.

Esempio di Addestramento

Addestra YOLO26 con il Logging di 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")
# Train via CLI
# project must be the Neptune slug (workspace/name); otherwise run creation will fail
yolo train data=coco8.yaml epochs=10 project=my-workspace/my-project name=experiment-1

Comprendere l'Integrazione

Il seguente diagramma illustra come la pipeline di addestramento Ultralytics interagisce con Neptune per registrare vari artefatti e metriche.

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

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

    G --> H[Neptune Web Dashboard]

Cosa viene Registrato?

Quando esegui il comando di addestramento, l'integrazione Neptune acquisisce automaticamente la seguente struttura di dati nella tua esecuzione:

  1. Configurazione/Iperparametri: Tutti gli argomenti di addestramento (epoche, lr0, ottimizzatore, ecc.) vengono registrati nella sezione Configurazione.
  2. Configurazione/Modello: L'architettura e la definizione del modello.
  3. Metriche:
    • Addestramento: box_loss, cls_loss, dfl_loss, lr (tasso di apprendimento).
    • Metriche: precision, recall, mAP50, mAP50-95.
  4. Immagini:
    • Mosaic: Batch di addestramento che mostrano l'aumento dei dati.
    • Validation: Etichette ground truth e previsioni del modello sui dati di validazione.
    • Plots: Matrici di confusione, curve Precision-Recall.
  5. Pesi: Il modello finale addestrato (best.pt) viene caricato nella weights cartella nell'esecuzione di Neptune.

Utilizzo Avanzato

Organizzazione delle Esecuzioni

È possibile utilizzare gli argomenti standard di Ultralytics project e name per organizzare le esecuzioni in Neptune.

  • project: Deve essere lo slug del progetto Neptune workspace/name; questo è ciò che il callback passa a neptune.init_run.
  • name: Funge da identificatore per l'esecuzione specifica.

Registrazione Personalizzata

Se è necessario registrare metriche personalizzate aggiuntive oltre alla registrazione automatica, è possibile accedere all'istanza di esecuzione di Neptune. Si noti che sarà necessario modificare la logica del trainer o creare un callback personalizzato per accedere all'oggetto di esecuzione specifico, poiché l'integrazione Ultralytics gestisce internamente il ciclo di vita dell'esecuzione.

FAQ

Come si disabilita la registrazione Neptune?

Se hai installato neptune ma desideri disabilitare la registrazione per una sessione specifica o a livello globale, puoi modificare le impostazioni YOLO.

# Disable Neptune integration
yolo settings neptune=False

Le mie immagini non vengono caricate. Cosa c'è che non va?

Assicurati che la tua rete consenta le connessioni ai server di Neptune. Inoltre, la registrazione delle immagini avviene solitamente a intervalli specifici (ad esempio, alla fine delle epoche o alla fine dell'addestramento). Se interrompi l'addestramento in anticipo utilizzando Ctrl+C, alcuni artefatti finali come le matrici di confusione o i pesi del modello migliore potrebbero non essere caricati.

Posso registrare su un ID di esecuzione Neptune specifico?

L'integrazione attuale crea automaticamente una nuova esecuzione per ogni sessione di addestramento. Per riprendere la registrazione su un'esecuzione esistente, dovresti tipicamente gestire l'inizializzazione di Neptune manualmente nel codice Python, il che esula dall'ambito dell'integrazione automatica. Tuttavia, Ultralytics supporta la ripresa dell'addestramento localmente, il che creerà una nuova esecuzione in Neptune per tracciare le epoche riprese.

Dove posso trovare i pesi del modello in Neptune?

Nella tua dashboard di Neptune, naviga alla sezione Artefatti oppure Tutti i Metadati . Troverai una weights cartella contenente il tuo file best.pt , che puoi scaricare per il deployment.



📅 Creato 1 mese fa ✏️ Aggiornato 4 giorni fa
glenn-jocher

Commenti