メインコンテンツへスキップ
W&B Public APIは、W&Bに保存されたデータの照会、エクスポート、更新をプログラムから行うためのアクセス手段を提供します。このAPIは、事後分析、データエクスポート、および Runs 、 Artifacts 、 Sweeps のプログラムによる管理に使用します。メインの SDK がトレーニング中のリアルタイムの ログ を処理するのに対し、Public APIは過去のデータの取得、 メタデータ の更新、 Artifacts の管理、および完了した Experiments の分析を可能にします。メインの Api クラスが、ほとんどの機能へのエントリポイントとなります。
Training and fine-tuning models is done elsewhere in the W&B Python SDK. Use the Public API for querying and managing data after it has been logged to W&B.

利用可能なコンポーネント

コンポーネント説明
ApiPublic APIのメインエントリポイント。組織内の Runs 、 Projects 、 Artifacts を照会します。
Runs個々のトレーニング Runs へのアクセスと管理(履歴、 ログ 、 メトリクス を含む)。
Artifactsモデルの Artifacts 、 Datasets 、およびその他のバージョン管理されたファイルの照会とダウンロード。
Sweepsハイパーパラメーター Sweeps のデータへのアクセスと最適化結果の分析。
ProjectsProjects の管理と、プロジェクトレベルの メタデータ および 設定 へのアクセス。
ReportsW&B Reports へのプログラムによるアクセスと管理。
Teamチーム情報の照会とチームレベルのリソース管理。
Userユーザープロファイルとユーザー固有のデータへのアクセス。
FilesRuns に関連付けられたファイルのダウンロードと管理。
Historyトレーニング中に記録された詳細な時系列 メトリクス へのアクセス(Run.historyを参照)。
Automations自動化された ワークフロー とアクションの管理。
Integrationsサードパーティ製 インテグレーション の 設定 と管理。

一般的なユースケース

データのエクスポートと分析

  • Run の履歴を DataFrame としてエクスポートし、Jupyter ノートブックで分析
  • カスタムの 可視化 やレポート作成のために メトリクス をダウンロード
  • 複数の Experiments にわたる結果の集計

事後更新

  • 完了後の Run メタデータ の更新
  • 完了した Experiments への タグ や メモ の追加
  • Run の 設定 (configurations) や サマリー の変更

Artifact 管理

  • バージョンや エイリアス による Artifacts の照会
  • プログラムによるモデルの チェックポイント のダウンロード
  • Artifact の リネージ と依存関係の追跡

Sweep 分析

  • Sweep の結果と最もパフォーマンスの高い Runs へのアクセス
  • ハイパーパラメーター 探索結果のエクスポート
  • パラメータの重要度 の分析

認証

Public APIは Python SDK と同じ認証メカニズムを使用します。いくつかの方法で認証できます。 WANDB_API_KEY 環境変数を使用して APIキー を設定します。
export WANDB_API_KEY=your_api_key
Api クラスを初期化する際に直接 APIキー を渡します。
api = Api(api_key="your_api_key")
または、wandb.login() を使用して現在のセッションを認証します。
import wandb

wandb.login()
api = Api()

使用例

名前とエイリアスによる Artifact のダウンロード

次の例は、W&Bに ログ 記録された Artifact をその名前と エイリアス で取得し、その内容をダウンロードする方法を示しています。
import wandb

api = wandb.Api()
# entity/project/artifact:alias を指定して取得
artifact = api.artifact("entity/project/artifact:alias")
artifact.download()

レジストリからの Artifact のダウンロード

次の例は、W&B Registry からリンクされた Artifact を取得する方法を示しています。
import wandb

REGISTRY = "<registry_name>"
COLLECTION = "<collection_name>"
VERSION = "<version>"

api = wandb.Api()
artifact_name = f"wandb-registry-{REGISTRY}/{COLLECTION}:{VERSION}"

# Artifact を取得
fetched_artifact = api.artifact(name = artifact_name)

# Artifact をダウンロード。ダウンロードされたコンテンツへのパスを返します。
downloaded_path = fetched_artifact.download()

W&B Registry の照会

Mongo形式のフィルタを使用して、W&B Registries、Collections、および Artifacts を照会します。次の例では、正規表現を使用してコレクションを名前でフィルタリングする方法を示します。
import wandb

# wandb API を初期化
api = wandb.Api()

# レジストリに関わらず、コレクション名に `yolo` という文字列を含む
# すべてのコレクションをフィルタリング
collection_filters = {
    "name": {"$regex": "yolo"}
}

# フィルタに一致するすべてのコレクションのイテラブルを返します
collections = api.registries().collections(filter=collection_filters)
レジストリ、コレクション、または Artifact の照会方法の詳細については、レジストリアイテムの検索 を参照してください。