class Api
W&B サーバーに対してクエリを実行するために使用します。
使用例:
method Api.__init__
overrides:base_urlを設定できます。これは、using a W&B server other thanhttps: //api.wandb.aiを使用している場合に指定します。また、entity、project、runのデフォルト値も設定できます。timeout: API リクエストの HTTP タイムアウト(秒)。指定しない場合は、デフォルトのタイムアウトが使用されます。api_key: 認証に使用する APIキー。指定しない場合は、現在の環境または設定から APIキー が使用されます。環境に APIキー が存在しない場合は、APIキー の入力を求められます。
property Api.client
クライアントオブジェクトを返します。 戻り値:RetryingClient: client プロパティの値。
property Api.default_entity
W&B のデフォルトエンティティを返します。 戻り値:str | None: default_entity プロパティの値。
property Api.user_agent
W&B の公開用ユーザーエージェント文字列を返します。 戻り値:str:user_agentプロパティの値。
property Api.viewer
viewer オブジェクトを返します。 Raises:ValueError: W&B から viewer データを取得できない場合。requests.RequestException: GraphQL リクエストの実行中にエラーが発生した場合。
User: viewer プロパティの値。
メソッド Api.artifact
name: アーティファクトの名前。アーティファクトの名前は、少なくともアーティファクトがログされたプロジェクト名、アーティファクト名、およびアーティファクトのバージョンまたはエイリアスで構成される、ファイルパスに似た形式の文字列です。オプションで、そのアーティファクトをログした entity をプレフィックスとして先頭に付け、その後ろにスラッシュを入れます。name に entity が指定されていない場合は、run または API 設定の entity が使用されます。type: 取得するアーティファクトのタイプ。
Artifact オブジェクト。
Raises:
ValueError: アーティファクト名が指定されていない場合。ValueError: アーティファクトのタイプが指定されているが、取得されたアーティファクトのタイプと一致しない場合。
このメソッドは外部からの利用のみを想定しています。wandb リポジトリのコード内では api.artifact() を呼び出さないでください。
method Api.artifact_collection
ArtifactCollection オブジェクトを使用して、そのコレクション内の特定のアーティファクトに関する情報の取得などを行うことができます。
Args:
type_name: 取得するアーティファクトコレクションのタイプ。name: アーティファクトコレクション名。必要に応じて、そのアーティファクトをログした entity 名を先頭に、続けてスラッシュを付与できます。
ArtifactCollection オブジェクト。
Examples:
以下のコードスニペット中の “type”、“entity”、“project”、および “artifact_name” は、それぞれコレクションタイプ、あなたの W&B entity、アーティファクトが存在するプロジェクト名、そしてアーティファクト名を表すプレースホルダーです。
method Api.artifact_collection_exists
name: アーティファクトコレクション名。任意で、そのアーティファクトをログしたエンティティをプレフィックスとして付与し、その後にスラッシュを続けることができます。entityまたはprojectが指定されていない場合、存在すればオーバーライドパラメータからコレクションを推論します。そうでない場合、entityはユーザー設定から取得され、projectはデフォルトで “uncategorized” になります。type: アーティファクトコレクションのタイプ。
メソッド Api.artifact_collections
project_name: フィルタに使用するプロジェクト名。type_name: フィルタに使用するアーティファクトタイプ名。per_page: クエリのページネーションにおけるページサイズを設定します。通常、これを変更する必要はありません。
ArtifactCollections オブジェクト。
method Api.artifact_exists
name: アーティファクトの名前。先頭にアーティファクトのエンティティおよびプロジェクトをプレフィックスとして付ける。続けてコロン区切りで、アーティファクトのバージョンまたはエイリアスを付ける。エンティティまたはプロジェクトが指定されていない場合、W&B は、指定されていればオーバーライド用パラメータを使用する。それも指定されていない場合は、エンティティはユーザー設定から取得され、プロジェクトは “Uncategorized” に設定される。type: アーティファクトのタイプ。
メソッド Api.artifact_type
ArtifactType を返します。
引数:
type_name: 取得するアーティファクトタイプの名前。project: 指定された場合は、フィルタリングに使用するプロジェクト名またはパス。
ArtifactType オブジェクト。
メソッド Api.artifact_types
project: フィルタリング対象のプロジェクト名またはパス。
ArtifactTypes オブジェクト。
メソッド Api.artifact_versions
Api.artifacts(type_name, name) メソッドを使用してください。
メソッド Api.artifacts
Artifacts コレクションを返します。
引数:
type_name: 取得するアーティファクトの種類。name: アーティファクトのコレクション名。任意で、アーティファクトをログした entity を先頭に付け、その後にスラッシュを続けて指定します。per_page: クエリのページネーションにおけるページサイズを設定します。通常、これを変更する必要はありません。tags: これらすべてのタグを持つアーティファクトのみを返します。
Artifacts オブジェクト。
例:
次のコードスニペットでは、“type”、“entity”、“project”、および “artifact_name” は、それぞれアーティファクトの種類、W&B の entity、アーティファクトがログされたプロジェクト名、およびアーティファクト名を表すプレースホルダです。
method Api.automation
name: 取得する automation の名前。entity: automation を取得する対象の entity。
ValueError: 検索条件に一致する Automation が存在しないか、複数存在する場合。
method Api.automations
entity: Automation を取得する対象のエンティティ。name: 取得する Automation の名前。per_page: 1ページあたりに取得する Automation の数。デフォルトは 50。通常、これを変更する必要はありません。
メソッド Api.create_automation
name: Automation の名前。description: Automation の説明。enabled: Automation が有効かどうか。scope: Automation のスコープ。event: Automation をトリガーするイベント。action: Automation によってトリガーされるアクション。
メソッド Api.create_custom_chart
entity: チャートの所有者となるエンティティ(ユーザーまたはチーム)name: チャートプリセットの一意な識別子display_name: UI に表示される、人間が読みやすい名前spec_type: 仕様のタイプ。Vega-Lite v2 の仕様の場合は必ず “vega2” である必要があります。access: チャートのアクセスレベル:- “private”: チャートは、それを作成したエンティティからのみアクセス可能
- “public”: チャートは公開され、誰でもアクセス可能
spec: Vega/Vega-Lite の仕様。辞書または JSON 文字列として指定します。
wandb.Error: チャートの作成に失敗した場合UnsupportedError: サーバーがカスタムチャートをサポートしていない場合
メソッド Api.create_project
name: 新しいプロジェクトの名前。entity: 新しいプロジェクトのエンティティ。
メソッド Api.create_registry
name: レジストリ名。組織内で一意である必要があります。visibility: レジストリの公開範囲。organization: 組織内の誰でもこのレジストリを閲覧できます。後で UI の設定からメンバーのロールを編集できます。restricted: UI から招待されたメンバーのみがこのレジストリにアクセスできます。パブリック共有は無効です。organization: レジストリの所属組織。設定で organization が指定されていない場合、entity が 1 つの組織にのみ属しているときは、その entity から organization が取得されます。description: レジストリの説明。artifact_types: レジストリで許可されるアーティファクトのタイプ。タイプはmore than 128 characters and do not include characters/or ``:. If not specified, all types are accepted. Allowed types added to the registry cannot be removed later.
method Api.create_run
run_id: run に割り当てる ID。指定しない場合は、W&B がランダムな ID を作成します。project: run を記録するプロジェクト。プロジェクトが指定されていない場合は、“Uncategorized” という名前のプロジェクトに run を記録します。entity: プロジェクトを所有する entity。entity が指定されていない場合は、デフォルトの entity に run を記録します。
Run。
method Api.create_run_queue
name: 作成するキューの名前。type: キューで使用するリソースの種類。“local-container”、“local-process”、“kubernetes”、“sagemaker”、“gcp-vertex” のいずれか。entity: キューを作成する entity の名前。Noneの場合は、設定済みまたはデフォルトの entity を使用します。prioritization_mode: 使用する優先度付けのバージョン。“V0” またはNoneのいずれか。config: キューで使用されるデフォルトのリソース設定。テンプレート変数を指定するには、handlebars(例:{{var}})を使用します。template_variables:configと組み合わせて使用するテンプレート変数スキーマを格納した辞書。
RunQueue。
Raises:
パラメータが無効な場合は ValueError。wandb API エラー時には wandb.Error。
メソッド Api.create_team
team: チーム名admin_username: チームの管理者ユーザーのユーザー名。指定しない場合は現在のユーザーが使用されます。
Team オブジェクト。
メソッド Api.create_user
email: ユーザーのメールアドレス。admin: ユーザーをグローバルインスタンスの管理者として設定します。
User オブジェクト。
メソッド Api.delete_automation
obj: 削除するオートメーション、またはその ID。
メソッド Api.flush
api オブジェクトは run のローカルキャッシュを保持します。したがって、スクリプトの実行中に run の状態が変化しうる場合は、api.flush() を使ってローカルキャッシュをクリアし、run に関連付けられた最新の値を取得する必要があります。
メソッド Api.from_path
path: プロジェクト、run、スイープ、またはレポートへのパス
Project、Run、Sweep、または BetaReport インスタンス。
例外:
パスが無効な場合、またはオブジェクトが存在しない場合は wandb.Error が送出されます。
使用例:
以下のコードスニペット中の “project”、“team”、“run_id”、“sweep_id”、および “report_name” は、それぞれプロジェクト、チーム、run ID、スイープ ID、特定のレポート名を表すプレースホルダーです。
method Api.integrations
entity: インテグレーションを取得する対象のエンティティ(例: チーム名)。指定しない場合は、ユーザーのデフォルトエンティティが使用されます。per_page: 1ページあたりに取得するインテグレーション数。デフォルトは 50。通常はこれを変更する必要はありません。
Iterator[SlackIntegration | WebhookIntegration]: サポートされているインテグレーションを順に返すイテレータ。
メソッド Api.job
Job オブジェクトを返します。
引数:
name: ジョブの名前。path: ジョブのアーティファクトをダウンロードするためのルートパス。
Job オブジェクト。
method Api.list_jobs
entity: ジョブを取得する対象の entity。project: ジョブを取得する対象のプロジェクト。
method Api.project
Project を返します。
引数:
name: プロジェクト名。entity: リクエスト対象の entity 名。None の場合は、Apiに渡されたデフォルトの entity が使用されます。デフォルトの entity がない場合はValueErrorを送出します。
Project オブジェクト。
メソッド Api.projects
entity: 取得対象となるエンティティ名。None の場合はApiに渡されたデフォルトエンティティが使用されます。デフォルトエンティティも存在しない場合はValueErrorがスローされます。per_page: クエリのページネーションにおけるページサイズを設定します。通常、これを変更する必要はありません。
Project オブジェクトのイテラブルなコレクションである Projects オブジェクト。
method Api.queued_run
entity/project/queue_id/run_queue_item_id 形式のパスを解析します。
method Api.registries
Registry オブジェクトの遅延評価イテレータを返します。
このイテレータを使用して、組織のレジストリ全体にわたるレジストリ、コレクション、またはアーティファクトバージョンを検索・フィルタリングします。
Args:
organization: (str, optional) 取得対象のレジストリが属する organization。指定しない場合は、ユーザーの設定で指定されている organization が使用されます。filter: (dict, optional) 遅延レジストリイテレータ内の各オブジェクトに適用する MongoDB 形式のフィルタ。レジストリに対してフィルタ可能なフィールドはname,description,created_at,updated_at。コレクションに対してフィルタ可能なフィールドはname,tag,description,created_at,updated_at。バージョンに対してフィルタ可能なフィールドはtag,alias,created_at,updated_at,metadata。per_page: クエリのページネーションにおけるページサイズを設定します。
Registry オブジェクトの遅延評価イテレータ。
Examples:
名前に “model” を含むすべてのレジストリを検索します
メソッド Api.registry
name: レジストリの名前。wandb-registry-プレフィックスを除いた名前です。organization: レジストリが所属する組織。設定で organization が指定されていない場合、entity が 1 つの organization のみに属しているときは、その entity から organization が取得されます。
method Api.reports
wandb.Api.reports() API はベータ版であり、今後のリリースで変更される可能性があります。
Args:
path: レポートが存在するプロジェクトへのパス。先頭に、そのプロジェクトを作成した entity をプレフィックスとして指定し、その後にスラッシュを続けてください。name: リクエストするレポートの名前。per_page: クエリのページネーション用のページサイズを設定します。通常、これを変更する必要はありません。
Reports オブジェクト。これは、BetaReport オブジェクトの反復可能なコレクションです。
Examples:
method Api.run
entity/project/run_id の形式のパスをパースして、単一の run を返します。
引数:
path:entity/project/run_id形式の run へのパス。api.entityが設定されている場合はproject/run_id形式とでき、api.projectが設定されている場合は run_id だけを指定できます。
Run オブジェクト。
メソッド Api.run_queue
RunQueue を返します。
run queue の作成方法については、Api.create_run_queue を参照してください。
メソッド Api.runs
Run オブジェクトを遅延評価で順次処理する Runs オブジェクトを返します。
フィルタリングに利用できるフィールドには、次のものがあります:
createdAt: run が作成されたタイムスタンプ(ISO 8601 形式。例: “2023-01-01T12:00:00Z”)。displayName: run の人間が読める表示名(例: “eager-fox-1”)。duration: run の合計実行時間(秒)。group: 関連する複数の run をまとめるために使用されるグループ名。host: run が実行されたホスト名。jobType: run のジョブの種類または目的。name: run の一意の識別子(例: “a1b2cdef”)。state: run の現在の状態。tags: run に関連付けられたタグ。username: run を開始したユーザーのユーザー名。
config.experiment_name、summary_metrics.loss などです。
より複雑なフィルタリングのために、MongoDB のクエリ演算子を使用できます。詳細は https://www.mongodb.com/docs/manual/reference/mql/query-predicates/ を参照してください。次の演算がサポートされています:
$and$or$nor$eq$ne$gt$gte$lt$lte$in$nin$exists$regex
path: (str) プロジェクトへのパスで、“entity/project” の形式で指定します。filters: (dict) MongoDB クエリ言語を使用して特定の run を検索するためのクエリ。config.key、summary_metrics.key、state、entity、createdAt などの run プロパティでフィルタリングできます。For example:{"config.experiment_name": "foo"}のように指定すると、config の experiment_name エントリが “foo” に設定されている run を検索します。order: (str) 並び順。created_at、heartbeat_at、config.*.value、summary_metrics.*を指定できます。先頭に + を付けると昇順(デフォルト)、- を付けると降順になります。デフォルトの並び順は、run.created_at を古いものから新しいものへの順に並べます。per_page: (int) クエリのページネーションにおける 1 ページあたりの件数を設定します。include_sweeps: (bool) 結果にスイープの run を含めるかどうか。lazy: (bool) パフォーマンス向上のために遅延読み込みを使用するかどうか。True(デフォルト)の場合、最初は必要最小限の run メタデータのみが読み込まれます。config、summaryMetrics、systemMetrics のような重いフィールドは、アクセスされたときにオンデマンドで読み込まれます。最初からすべてのデータを読み込みたい場合は False を指定します。
Run オブジェクトの反復可能なコレクションである Runs オブジェクト。
Examples:
メソッド Api.slack_integrations
entity: インテグレーションを取得する対象のエンティティ(例: チーム名)。指定しなかった場合は、ユーザーのデフォルトエンティティが使用されます。per_page: 1 ページあたりに取得するインテグレーション数。デフォルトは 50 です。通常、この値を変更する必要はありません。
Iterator[SlackIntegration]: Slack インテグレーションのイテレータ。
メソッド Api.sweep
entity/project/sweep_id 形式のパスを解析して、スイープを返します。
Args:
path:entity/project/sweep_id形式のスイープへのパス。api.entityが設定されている場合はproject/sweep_id形式にできます。api.projectが設定されている場合はsweep_idだけを指定できます。
Sweep オブジェクト。
メソッド Api.sync_tensorboard
メソッド Api.team
Team を返します。
引数:
team: チームの名前。
Team オブジェクト。
method Api.update_automation
obj: 更新するオートメーション。既存のオートメーションである必要があります。create_missing(bool): True の場合、オートメーションが存在しなければ新規作成します。**kwargs: 更新前にオートメーションへ割り当てる追加の値。指定された場合、すでにオートメーションに設定されている値を上書きします:name: オートメーションの名前。description: オートメーションの説明。enabled: オートメーションが有効かどうか。scope: オートメーションのスコープ。event: オートメーションをトリガーするイベント。action: オートメーションによってトリガーされるアクション。
method Api.upsert_run_queue
name: 作成するキューの名前entity: キューを作成する entity の任意の名前。Noneの場合は、設定済みまたはデフォルトの entity を使用します。resource_config: キューで使用する任意のデフォルトのリソース設定。テンプレート変数を指定するには handlebars(例:{{var}})を使用します。resource_type: キューで使用するリソースの種類。“local-container”、“local-process”、“kubernetes”、“sagemaker”、“gcp-vertex” のいずれか。template_variables: 設定と併せて使用するテンプレート変数スキーマを表す辞書。external_links: キューと併せて使用する外部リンクを表す任意の辞書。prioritization_mode: 使用する優先順位付け方式の任意のバージョン。“V0” または None。
RunQueue を返します。
例外:
パラメータが無効な場合は ValueError、wandb API エラー時には wandb.Error を送出します。
メソッド Api.user
api.viewer を使用してください。
引数:
username_or_email: ユーザーのユーザー名またはメールアドレス。
User オブジェクト、またはユーザーが見つからない場合は None。
メソッド Api.users
api.viewer を使用します。
引数:
username_or_email: 検索したいユーザーのユーザー名またはメールアドレスの前方または後方一致用の文字列。
User オブジェクトの配列。
メソッド Api.webhook_integrations
entity: インテグレーションを取得する対象のエンティティ(例: チーム名)。指定しない場合、ユーザーのデフォルトエンティティが使用されます。per_page: 1ページあたりに取得するインテグレーション数。デフォルトは 50 です。通常、この値を変更する必要はありません。
Iterator[WebhookIntegration]: webhook インテグレーションのイテレータ。