Zum Inhalt springen

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.

Neptune.ai Dashboard-Übersicht

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

  1. Melden Sie sich bei Neptune.ai an.
  2. Erstellen Sie ein neues Projekt (oder wählen Sie ein bestehendes aus).
  3. 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:

  1. Konfiguration/Hyperparameter: Alle Trainingsargumente (Epochen, lr0, Optimierer usw.) werden im Abschnitt Konfiguration protokolliert.
  2. Konfiguration/Modell: Die Modellarchitektur und -definition.
  3. Metriken:
    • Trainieren: box_loss, cls_loss, dfl_loss, lr (Lernrate).
    • Metriken: precision, recall, mAP50, mAP50-95.
  4. Bilder:
    • Mosaic: Trainings-Batches mit Datenaugmentation.
    • Validation: Ground-Truth-Labels und Modellvorhersagen auf Validierungsdaten.
    • Plots: Konfusionsmatrizen, Precision-Recall-Kurven.
  5. Gewichte: Das endgültig trainierte Modell (best.pt) wird hochgeladen in die weights Ordner 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 sein workspace/name; dies ist, was der Callback an ... übergibt neptune.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.



📅 Erstellt vor 11 Tagen ✏️ Vor 11 Tagen aktualisiert
glenn-jocher

Kommentare