Neptune-Übernahme und SaaS-Einstellung
Neptune hat eine Vereinbarung zur Übernahme durch OpenAI getroffen und wird seinen gehosteten (SaaS)-Dienst nach einer Übergangsphase, die am 4. März 2026 endet, einstellen. Prüfen Sie die offizielle Ankündigung und planen Sie Migrationen oder Exporte entsprechend.
Experiment-Tracking mit Neptune
Neptune ist ein Metadaten-Speicher für MLOps, entwickelt für Teams, die viele Experimente durchführen. Es bietet Ihnen einen zentralen Ort, um alle Ihre Metadaten zur Modellentwicklung zu protokollieren, zu speichern, anzuzeigen, zu organisieren, zu vergleichen und abzufragen.
Ultralytics YOLO11 integriert sich mit Neptune, um das Experiment-Tracking zu optimieren. Diese Integration ermöglicht es Ihnen, Trainingsmetriken automatisch zu protokollieren, Modellvorhersagen zu visualisieren und Modellartefakte zu speichern, ohne benutzerdefinierten Logging-Code schreiben zu müssen.

Hauptmerkmale
- Automatische Protokollierung: Automatische Protokollierung wichtiger Trainingsmetriken wie Box-Loss, Klassifikations-Loss und mAP.
- Bildvisualisierung: Trainingsmosaike und Validierungsvorhersagen direkt im Neptune-Dashboard anzeigen.
- Modell-Checkpointing: Laden Sie Ihre trainierten Modellgewichte hoch und versionieren Sie diese (
best.pt) automatisch am Ende des Trainings. - Hyperparameter-Tracking: Protokollieren Sie alle Konfigurationsparameter, um die vollständige Reproduzierbarkeit Ihrer Experimente zu gewährleisten.
- Interaktive Diagramme: Visualisieren Sie Konfusionsmatrizen und Precision-Recall-Kurven, um die Modellleistung zu analysieren.
Installation
Um Neptune mit Ultralytics zu verwenden, müssen Sie die neptune Client-Paket zusammen mit ultralytics.
Installation
# Install the required packages
pip install ultralytics neptune
# Enable Neptune integration in Ultralytics settings
yolo settings neptune=True
Konfiguration
Bevor Sie mit dem Training beginnen, müssen Sie Ihre lokale Umgebung mit Ihrem Neptune-Projekt verbinden. Sie benötigen Ihren API-Token und Projektnamen aus Ihrem Neptune-Dashboard.
1. Zugangsdaten abrufen
- Melden Sie sich bei Neptune.ai an.
- Erstellen Sie ein neues Projekt (oder wählen Sie ein bestehendes aus).
- Gehen Sie zu Ihrem Benutzermenü und holen Sie sich Ihr API Token.
2. Umgebungsvariablen festlegen
Der sicherste Weg, Anmeldeinformationen zu handhaben, ist über Umgebungsvariablen. Beachten Sie, dass der Ultralytics Neptune Callback die YOLO project Argument und verwendet nicht NEPTUNE_PROJECT. Übergeben Sie den vollständigen Neptune-Slug (z.B., workspace/name) über project= in Ihrem Trainingsbefehl; andernfalls wird Neptune versuchen, den wörtlichen Standardwert zu verwenden. "Ultralytics" und der Lauf wird fehlschlagen.
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"
Nutzung
Nach der Konfiguration können Sie mit dem Training Ihrer YOLO11-Modelle beginnen. Die Neptune-Integration funktioniert automatisch, wenn die neptune Paket installiert ist und die Integration in den Einstellungen aktiviert ist.
Trainingsbeispiel
Trainieren Sie YOLO11 mit Neptune Logging
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.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
Die Integration verstehen
Das folgende Diagramm veranschaulicht, wie die Ultralytics Trainingspipeline mit Neptune interagiert, um verschiedene Artefakte und Metriken zu protokollieren.
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]
Was wird protokolliert?
Wenn Sie den Trainingsbefehl ausführen, erfasst die Neptune-Integration automatisch die folgende Datenstruktur in Ihrem Lauf:
- Konfiguration/Hyperparameter: Alle Trainingsargumente (Epochen, lr0, Optimierer usw.) werden im Abschnitt Konfiguration protokolliert.
- Konfiguration/Modell: Die Modellarchitektur und -definition.
- Metriken:
- Trainieren:
box_loss,cls_loss,dfl_loss,lr(Lernrate). - Metriken:
precision,recall,mAP50,mAP50-95.
- Trainieren:
- Bilder:
Mosaic: Trainings-Batches mit Datenaugmentation.Validation: Ground-Truth-Labels und Modellvorhersagen auf Validierungsdaten.Plots: Konfusionsmatrizen, Precision-Recall-Kurven.
- Gewichte: Das endgültig trainierte Modell (
best.pt) wird hochgeladen in dieweightsOrdner im Neptune-Lauf.
Erweiterte Nutzung
Läufe organisieren
Sie können die standardmäßigen Ultralytics verwenden project und name Argumente, um Ihre Läufe in Neptune zu organisieren.
project: Muss der Neptune-Projekt-Slug seinworkspace/name; dies ist, was der Callback an ... übergibtneptune.init_run.name: Dient als Bezeichner für den spezifischen Lauf.
Benutzerdefiniertes Logging
Wenn Sie zusätzlich zur automatischen Protokollierung weitere benutzerdefinierte Metriken protokollieren müssen, können Sie auf die Neptune-Run-Instanz zugreifen. Beachten Sie, dass Sie die Trainer-Logik ändern oder einen benutzerdefinierten Callback erstellen müssen, um auf das spezifische Run-Objekt zuzugreifen, da die Ultralytics-Integration den Lebenszyklus des Runs intern verwaltet.
FAQ
Wie deaktiviere ich das Neptune-Logging?
Wenn Sie installiert haben neptune aber die Protokollierung für eine bestimmte Sitzung oder global deaktivieren möchten, können Sie die YOLO-Einstellungen ändern.
# Disable Neptune integration
yolo settings neptune=False
Meine Bilder werden nicht hochgeladen. Was ist falsch?
Stellen Sie sicher, dass Ihr Netzwerk Verbindungen zu den Neptune-Servern zulässt. Zusätzlich erfolgt die Bildprotokollierung in der Regel in bestimmten Intervallen (z.B. am Ende von Epochen oder am Ende des Trainings). Wenn Sie das Training vorzeitig unterbrechen mit Ctrl+C, werden einige finale Artefakte wie Konfusionsmatrizen oder die besten Modellgewichte möglicherweise nicht hochgeladen.
Kann ich in eine bestimmte Neptune-Run-ID protokollieren?
Die aktuelle Integration erstellt automatisch einen neuen Run für jede Trainingssitzung. Um das Logging in einem bestehenden Run fortzusetzen, müssten Sie die Neptune-Initialisierung typischerweise manuell im Python-Code handhaben, was außerhalb des Umfangs der automatischen Integration liegt. Ultralytics unterstützt jedoch das lokale Fortsetzen des Trainings, wodurch ein neuer Run in Neptune erstellt wird, um die fortgesetzten Epochen zu verfolgen.
Wo finde ich die Modellgewichte in Neptune?
Navigieren Sie in Ihrem Neptune-Dashboard zu den Artefakte oder Alle Metadaten Abschnitt. Dort finden Sie einen weights Ordner, der Ihre best.pt Datei, die Sie für die Bereitstellung herunterladen können.