コンテンツにスキップ

Neptuneの買収とSaaSの非推奨化

NeptuneはOpenAIに買収される契約を締結し、2026年3月4日に終了する移行期間後にホスト型(SaaS)サービスを終了します。公式発表を確認し、それに応じて移行またはエクスポートを計画してください。

Neptuneによる実験トラッキング

Neptuneは、多くの実験を実行するチーム向けに構築されたMLOps用のメタデータストアです。すべてのモデル構築メタデータをログに記録し、保存し、表示し、整理し、比較し、クエリするための単一の場所を提供します。

Ultralytics YOLO26はNeptuneと統合されており、実験のtrackを効率化します。この統合により、カスタムロギングコードを記述することなく、トレーニングメトリクスを自動的にログに記録し、モデル予測を視覚化し、モデルアーティファクトを保存できます。

Neptune.ai ダッシュボードの概要

主な特徴

  • 自動ロギング:ボックス損失、分類損失、mAPなどの主要なトレーニングメトリクスを自動的にログに記録します。
  • 画像可視化:トレーニングモザイクと検証予測をNeptuneダッシュボードで直接表示します。
  • モデルチェックポイント:学習済みモデルの重み(best.pt)を学習終了時に自動的にアップロードし、バージョン管理します。
  • ハイパーパラメータ追跡: すべての設定パラメータをログに記録し、実験の完全な再現性を保証します。
  • インタラクティブプロット: 混同行列と適合率-再現率曲線(precision-recall curves)を視覚化して、モデルのパフォーマンスを分析します。

インストール

UltralyticsでNeptuneを使用するには、 neptune クライアントパッケージと合わせてインストールする必要があります。 ultralytics.

インストール

# Install the required packages
pip install ultralytics neptune

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

構成

学習を開始する前に、ローカル環境をNeptuneプロジェクトに接続する必要があります。NeptuneダッシュボードからAPIトークンプロジェクト名が必要になります。

1. 認証情報を取得する

  1. Neptune.aiにログインします。
  2. 新しいプロジェクトを作成するか(または既存のプロジェクトを選択します)。
  3. ユーザーメニューに移動し、APIトークンを取得します。

2. 環境変数を設定する

資格情報を処理する最も安全な方法は環境変数を使用することです。Ultralytics NeptuneコールバックはYOLOの project `project`引数を読み取り、 NEPTUNE_PROJECT`NEPTUNE_PROJECT`は使用しません。完全なNeptuneスラッグ(例: workspace/name`owner/project`)を介して project= 学習コマンドの`project`引数で渡してください。そうしないと、Neptuneはリテラルのデフォルト値 "Ultralytics" `ultralytics/YOLOv8`を使用しようとし、実行は失敗します。

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"

使用法

設定が完了すると、YOLO26モデルのトレーニングを開始できます。Neptune統合は、 neptune パッケージがインストールされ、設定で統合が有効になっています。

トレーニング例

Neptuneロギングを使用したYOLO26のトレーニング

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

統合の理解

以下の図は、UltralyticsトレーニングパイプラインがNeptuneとどのように連携して、さまざまなアーティファクトとメトリクスをログに記録するかを示しています。

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]

何がログに記録されるか?

トレーニングコマンドを実行すると、Neptune統合は実行中に以下のデータ構造を自動的にキャプチャします。

  1. 設定/ハイパーパラメータ: すべてのトレーニング引数(エポック、lr0、オプティマイザーなど)は、「Configuration」セクションにログ記録されます。
  2. 設定/モデル: モデルのアーキテクチャと定義。
  3. メトリクス:
    • トレーニング: box_loss, cls_loss, dfl_loss, lr (学習率)。
    • メトリクス: precision, recall, mAP50, mAP50-95.
  4. 画像:
    • Mosaic:データ拡張を示すトレーニングバッチ。
    • Validation:検証データにおける正解ラベルとモデルの予測。
    • Plots:混同行列、Precision-Recall曲線。
  5. 重み:最終的に学習されたモデル(best.pt)は weights Neptune実行内のフォルダーにアップロードされます。

高度な使用法

実行の整理

標準のUltralytics project および name 引数を使用して、Neptuneでの実行を整理できます。

  • project:Neptuneプロジェクトのスラッグである必要があります。 workspace/name:これはコールバックが渡すものです。 neptune.init_run.
  • name:特定の実行の識別子として機能します。

カスタムロギング

自動ロギングに加えて追加のカスタムメトリクスをログに記録する必要がある場合は、Neptune実行インスタンスにアクセスできます。Ultralyticsの統合は実行のライフサイクルを内部的に処理するため、特定の実行オブジェクトにアクセスするには、トレーナーロジックを変更するか、カスタムコールバックを作成する必要があることに注意してください。

よくある質問

Neptuneロギングを無効にするにはどうすればよいですか?

インストールしている場合 neptune でも、特定のセッションまたはグローバルにロギングを無効にしたい場合は、YOLO設定を変更できます。

# Disable Neptune integration
yolo settings neptune=False

画像がアップロードされません。何が問題ですか?

ネットワークがNeptuneのサーバーへの接続を許可していることを確認してください。さらに、画像ロギングは通常、特定の間隔(例:エポックの終了時やトレーニングの終了時)で発生します。もし、早期にトレーニングを中断した場合、 Ctrl+C、混同行列や最適なモデルの重みなどの最終成果物がアップロードされない可能性があります。

特定のNeptune実行IDにログを記録できますか?

現在の統合では、各トレーニングセッションに対して新しい実行が自動的に作成されます。既存の実行へのロギングを再開するには、通常、pythonコードでNeptuneの初期化を手動で処理する必要がありますが、これは自動統合の範囲外です。ただし、Ultralyticsはローカルでのトレーニング再開をサポートしており、これによりNeptuneに新しい実行が作成され、再開されたエポックがtrackされます。

Neptuneでモデルウェイトはどこにありますか?

Neptuneダッシュボードで、 アーティファクト または すべてのメタデータ セクションに移動します。そこには weights フォルダーがあり、その中に best.pt ファイルがあり、デプロイ用にダウンロードできます。



📅 1ヶ月前に作成 ✏️ 4日前に更新
glenn-jocher

コメント