NeptuneはOpenAIに買収されることで合意に達し、2026年3月4日をもって終了する移行期間の経過後にホステッド(SaaS)サービスの提供を終了します。公式発表を確認し、それに応じて移行やエクスポートの計画を立ててください。
Neptuneによる実験トラッキング#
Neptuneは多くの実験を実行するチーム向けに構築されたMLOps向けのメタデータストアです。モデル構築に関するすべてのメタデータを1か所で記録、保存、表示、整理、比較、クエリすることができます。
Ultralytics YOLO26はNeptuneと統合し、実験トラッキングを効率化します。この統合により、カスタムのロギングコードを書くことなく、トレーニングメトリクスの自動記録、モデル予測の視覚化、およびモデルアーティファクトの保存が可能になります。
主な特徴#
- 自動ロギング: ボックス損失、分類損失、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 TokenとProject Nameを取得してください。
資格情報の取得#
- Neptune.aiにログインします。
- 新しいプロジェクトを作成する(または既存のプロジェクトを選択する)。
- ユーザーメニューに移動し、API Tokenを取得します。
環境変数の設定#
認証情報を安全に処理する最も確実な方法は、環境変数を使用することです。Ultralytics Neptune コールバックは YOLO の project 引数を読み取り、NEPTUNE_PROJECT は使用しないことに注意してください。トレーニングコマンド内の project= を通じて完全な Neptune スラッグ(例: workspace/name)を渡してください。そうしないと、Neptune はデフォルトの文字列表現である "Ultralytics" を使用しようとし、実行が失敗します。
export NEPTUNE_API_TOKEN="your_long_api_token_here" # required使用方法#
設定が完了したら、YOLO26モデルのトレーニングを開始できます。Neptune統合は、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")統合の仕組み#
以下の図は、UltralyticsのトレーニングパイプラインがNeptuneとどのように連携して様々なアーティファクトやメトリクスを記録するかを示しています。
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記録されるデータは何ですか?#
トレーニングコマンドを実行すると、Neptune統合は実行中に以下のデータ構造を自動的にキャプチャします:
- Configuration/Hyperparameters: すべてのトレーニング引数(エポック数、lr0、オプティマイザなど)がConfigurationセクションの下に記録されます。
- Configuration/Model: モデルのアーキテクチャと定義。
- Metrics:
- Train:
box_loss、cls_loss、dfl_loss、lr(学習率)。 - Metrics:
precision、recall、mAP50、mAP50-95。
- Train:
- Images:
Mosaic: データ拡張を示すトレーニングバッチ。Validation: 検証データに対する正解ラベルとモデル予測。Plots: 混同行列、適合率-再現率曲線。
- Weights: 最終的なトレーニング済みモデル(
best.pt)は、Neptune実行内のweightsフォルダーにアップロードされます。
高度な使用方法#
実行の整理#
標準のUltralyticsのprojectおよびname引数を使用して、Neptuneで実行を整理できます。
project: Neptuneプロジェクトスラッグworkspace/nameである必要があります。これはコールバックがneptune.init_runに渡すものです。name: 特定の実行の識別子として機能します。
カスタムロギング#
自動ロギングに加えて追加のカスタムメトリクスを記録する必要がある場合は、Neptune実行インスタンスにアクセスできます。Ultralyticsの統合は実行のライフサイクルを内部で管理しているため、特定の実行オブジェクトにアクセスするにはトレーナーロジックを変更するか、カスタムコールバックを作成する必要があることに注意してください。
よくある質問 (FAQ)#
Neptuneロギングを無効にするにはどうすればよいですか?#
neptuneをインストールしているが、特定のセッションまたはグローバルでロギングを無効にしたい場合は、YOLO設定を変更できます。
# Disable Neptune integration
yolo settings neptune=False画像がアップロードされません。何が問題でしょうか?#
ネットワークがNeptuneのサーバーへの接続を許可していることを確認してください。さらに、画像ロギングは通常、特定の間隔(エポックの終了時やトレーニングの終了時など)で行われます。Ctrl+Cを使用してトレーニングを早期に中断した場合、混同行列や最良のモデルの重みなどの最終的なアーティファクトの一部がアップロードされない可能性があります。
特定のNeptune実行IDにログを記録できますか?#
現在の統合では、トレーニングセッションごとに新しい実行が自動的に作成されます。既存の実行への記録を再開するには、通常PythonコードでNeptuneの初期化を手動で処理する必要がありますが、これは自動統合の範囲外となります。ただし、Ultralyticsはローカルでのトレーニング再開をサポートしており、再開されたエポックを追跡するためにNeptuneで新しい実行が作成されます。
Neptuneでモデルの重みはどこにありますか?#
Neptune ダッシュボードで、Artifacts または All Metadata セクションに移動します。デプロイ用にダウンロードできる best.pt ファイルが含まれている weights フォルダが見つかります。