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 entity を返します。 戻り値:str | None: default_entity プロパティの値。
property Api.user_agent
W&B の公開用ユーザーエージェントを返します。 戻り値:str:user_agentプロパティの値。
property Api.viewer
viewer オブジェクトを返します。 Raises:ValueError: viewer データを W&B から取得できない場合。requests.RequestException: GraphQL リクエストの実行中にエラーが発生した場合。
User: viewer プロパティの値。
method 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: 取得するアーティファクトコレクションの type。name: アーティファクトコレクション名。任意で、アーティファクトをログした entity を、スラッシュ区切りのプレフィックスとして付与できます。
ArtifactCollection オブジェクト。
Examples:
以下のコードスニペット中の “type”、“entity”、“project”、および “artifact_name” は、それぞれコレクションの type、あなたの W&B entity、アーティファクトが属するプロジェクト名、アーティファクト名を表すプレースホルダーです。
method Api.artifact_collection_exists
name: アーティファクトコレクション名。任意で、そのアーティファクトをログした entity をプレフィックスとして付け、その後にスラッシュを続けて指定できます。entity または project が指定されていない場合、存在すれば override パラメーターからコレクションを推論します。それ以外の場合、entity はユーザー設定から取得され、project はデフォルトで「uncategorized」になります。type: アーティファクトコレクションの種類。
メソッド Api.artifact_collections
project_name: フィルター対象のプロジェクト名。type_name: フィルター対象のアーティファクトタイプ名。per_page: クエリのページネーションにおけるページサイズを設定します。通常、これを変更する必要はありません。
ArtifactCollections オブジェクトを返します。
method Api.artifact_exists
name: アーティファクトの名前。先頭にそのアーティファクトの entity とプロジェクトをプレフィックスとして付ける。末尾に、コロン区切りでバージョンまたはアーティファクトのエイリアスを付ける。entity またはプロジェクトが指定されていない場合、設定されていれば override パラメーターが使用される。そうでない場合、entity はユーザー設定から取得され、プロジェクトは “Uncategorized” に設定される。type: アーティファクトの種類。
メソッド Api.artifact_type
ArtifactType を返します。
Args:
type_name: 取得するアーティファクトタイプの名前。project: 指定された場合、フィルタリングに使用するプロジェクト名またはパス。
ArtifactType オブジェクトを返します。
method Api.artifact_types
project: フィルタリング対象のプロジェクト名またはパス。
ArtifactTypes オブジェクト。
method Api.artifact_versions
Api.artifacts(type_name, name) メソッドを使用してください。
method Api.artifacts
Artifacts コレクションを返します。
Args:
type_name: 取得するアーティファクトの種類。name: アーティファクトのコレクション名。オプションで、アーティファクトをログした entity を先頭に付け、その後にスラッシュを続けて指定できます。per_page: クエリのページネーションにおけるページサイズを設定します。通常、これを変更する必要はありません。tags: これらすべてのタグを持つアーティファクトのみを返します。
Artifacts オブジェクト。
Examples:
次のコードスニペットでは、“type”、“entity”、“project”、および “artifact_name” は、それぞれアーティファクトの種類、W&B entity、アーティファクトがログされたプロジェクト名、およびアーティファクト名を表すプレースホルダーです。
method Api.automation
name: 取得する Automation の名前。entity: Automation を取得する対象のエンティティ。
ValueError: 検索条件に一致する Automation が 0 件、または複数件ある場合。
メソッド Api.automations
entity: Automation を取得する対象の entity。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: 辞書または JSON 文字列として指定された Vega/Vega-Lite 仕様
wandb.Error: チャートの作成に失敗した場合UnsupportedError: サーバーがカスタムチャートをサポートしていない場合
method Api.create_project
name: 新しいプロジェクトの名前。entity: 新しいプロジェクトの entity。
メソッド Api.create_registry
name: レジストリの名前。名前は組織内で一意である必要があります。visibility: レジストリの公開範囲。organization: 組織内の誰でもこのレジストリを閲覧できます。UI の設定から、後でロールを編集できます。restricted: UI を通じて招待されたメンバーのみがこのレジストリにアクセスできます。公開共有は無効になります。organization: レジストリの所属組織。設定で組織が指定されていない場合、エンティティが 1 つの組織にのみ属しているときは、そのエンティティから組織が取得されます。description: レジストリの説明。artifact_types: レジストリで受け付けるアーティファクトの型。型名は 128 文字以内で、/および:文字を含めてはいけません。指定しない場合、すべての型が許可されます。レジストリに追加された許可済みの型は、後から削除できません。more: 上記の説明が 128 文字を超えないこと、および特定の記号を含めないことを示す追加情報。
method Api.create_run
run_id: run に割り当てる ID。指定しない場合、W&B がランダムな ID を作成します。project: run を記録するプロジェクト。プロジェクトを指定しない場合は、“Uncategorized” という名前のプロジェクトに run を記録します。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。
例外:
パラメーターが不正な場合は ValueError を、wandb API エラー時には wandb.Error を送出します。
method Api.create_team
team: チーム名admin_username: チームの管理者ユーザーのユーザー名。指定しない場合は現在のユーザーが管理者になります。
Team オブジェクト。
メソッド Api.create_user
email: ユーザーの email アドレス。admin: ユーザーをグローバルインスタンスの管理者として設定します。
User オブジェクト。
メソッド Api.delete_automation
obj: 削除するオートメーション、またはその ID。
メソッド Api.flush
api オブジェクトは run のローカルキャッシュを保持しているため、スクリプトの実行中に run の状態が変化する可能性がある場合は、api.flush() を使ってローカルキャッシュをクリアし、その run に関連付けられた最新の値を取得する必要があります。
method Api.from_path
path: プロジェクト、run、sweep、またはレポートへのパス
Project、Run、Sweep、または BetaReport のインスタンス。
送出される例外:
パスが無効な場合、またはオブジェクトが存在しない場合に wandb.Error が送出されます。
使用例:
以下のコードスニペットに登場する “project”、“team”、“run_id”、“sweep_id”、および “report_name” は、それぞれプロジェクト、チーム、run ID、sweep ID、特定のレポート名を表すプレースホルダーです。
メソッド Api.integrations
entity: インテグレーションを取得する対象のエンティティ (例: チーム名)。指定しない場合は、そのユーザーのデフォルトエンティティが使用されます。per_page: 1 ページあたりに取得するインテグレーション数。デフォルトは 50 です。通常、これを変更する必要はありません。
Iterator[SlackIntegration | WebhookIntegration]: サポートされているインテグレーションのイテレータ。
method Api.job
Job オブジェクトを返します。
引数:
name: ジョブの名前。path: ジョブのアーティファクトをダウンロードするルートパス。
Job オブジェクト。
メソッド Api.list_jobs
entity: 一覧に含める job の対象となる entity。project: 一覧に含める job の対象となるプロジェクト。
method Api.project
Project を返します。
引数:
name: プロジェクト名。entity: リクエストされた entity の名前。Noneの場合は、Apiに渡されたデフォルトの entity を使用します。デフォルトの entity がない場合はValueErrorを送出します。
Project オブジェクト。
メソッド Api.projects
entity: リクエスト対象の entity 名。Noneの場合は、Apiに渡されたデフォルトの entity が使用されます。デフォルトの entity がない場合はValueErrorをスローします。per_page: クエリのページネーションにおけるページサイズを設定します。通常、これを変更する必要はありません。
Project オブジェクトの反復可能なコレクションである Projects オブジェクト。
method Api.queued_run
entity/project/queue_id/run_queue_item_id という形式のパスを解析します。
method Api.registries
Registry オブジェクトの遅延イテレーターを返します。
このイテレーターを使って、組織内の registry 全体にわたって registry、collection、または アーティファクト バージョンを検索およびフィルタリングします。
Args:
organization: (str, optional) 取得する registry の所属組織。指定されていない場合は、ユーザーの設定で指定されている組織を使用します。filter: (dict, optional) 遅延 registry イテレーター内の各オブジェクトに適用される MongoDB 形式のフィルター。registry でフィルターに使用できるフィールドはname、description、created_at、updated_atです。collection でフィルターに使用できるフィールドはname、tag、description、created_at、updated_atです。version でフィルターに使用できるフィールドはtag、alias、created_at、updated_at、metadataです。per_page: クエリのページネーションにおけるページサイズを設定します。
Registry オブジェクトの遅延イテレーター。
Examples:
名前に “model” を含むすべての registry を検索します。
method Api.registry
name: レジストリの名前。wandb-registry-プレフィックスを含まない名前です。organization: レジストリの organization。設定で organization が指定されていない場合、entity が 1 つの organization にのみ属している場合は、その entity から organization が取得されます。
method Api.reports
wandb.Api.reports() API はベータ版であり、今後のリリースで変更される可能性があります。
Args:
path: レポートが存在するプロジェクトへのパス。接頭辞として、そのプロジェクトを作成したエンティティを指定し、その後にスラッシュを続けて指定します。name: 取得するレポートの名前。per_page: クエリのページネーションにおけるページサイズを設定します。通常、これを変更する必要はありません。
BetaReport オブジェクトの反復可能なコレクションである Reports オブジェクトを返します。
Examples:
method Api.run
entity/project/run_id の形式のパスを解釈して、1 つの 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://docs.mongodb.com/manual/reference/operator/query を参照してください。次の演算子がサポートされています:
$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"}は、experiment name の config エントリが “foo” に設定されている run を検索します。order: (str) 並び順はcreated_at、heartbeat_at、config.*.value、またはsummary_metrics.*を指定できます。order の前に + を付けると昇順 (デフォルト)、- を付けると降順になります。デフォルトの並び順は、最も古いものから新しいものへの run.created_at です。per_page: (int) クエリのページネーションにおけるページサイズを設定します。include_sweeps: (bool) 結果に sweep run を含めるかどうか。lazy: (bool) 高速化のために遅延ロードを使用するかどうか。True (デフォルト) の場合、最初に読み込まれるのは必須の run メタデータのみです。config、summaryMetrics、systemMetrics のような重いフィールドは、アクセス時にオンデマンドで読み込まれます。すべてのデータを事前に読み込むには False を指定します。
Run オブジェクトのイテラブルなコレクションである Runs オブジェクト。
Examples:
メソッド Api.slack_integrations
entity: インテグレーションを取得する対象のエンティティ (例: チーム名) 。指定しない場合、ユーザーのデフォルトエンティティが使用されます。per_page: 1 ページあたりに取得するインテグレーション数。デフォルトは 50 です。通常、この値を変更する必要はありません。
Iterator[SlackIntegration]: Slack インテグレーションのイテレータ。
method Api.sweep
entity/project/sweep_id 形式のパスを解析し、該当する sweep を返します。
引数:
path:entity/project/sweep_id形式の sweep へのパス。api.entityが設定されている場合はproject/sweep_id形式を指定でき、api.projectが設定されている場合はsweep_idのみを指定できます。
Sweep オブジェクト。
method Api.sync_tensorboard
method Api.team
Team を返します。
引数:
team: Team の名前。
Team オブジェクト。
method Api.update_automation
obj: 更新する automation。既存の automation である必要があります。 create_missing (bool): True の場合、automation が存在しなければ作成します。 **kwargs: 更新前に automation に割り当てる追加の値。指定された場合、automation に既に設定されている値を上書きします:name: automation の名前。description: automation の説明。enabled: automation が有効かどうか。scope: automation のスコープ。event: automation をトリガーするイベント。action: automation によってトリガーされるアクション。
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。
Raises:
いずれかのパラメーターが無効な場合は ValueError を、wandb API エラー時には wandb.Error を送出します。
method Api.user
User オブジェクトを取得するには api.viewer を使用してください。
引数:
username_or_email: ユーザー名またはユーザーのメールアドレス。
User オブジェクト。ユーザーが見つからない場合は None。
メソッド Api.users
api.viewer を使用してください。
引数:
username_or_email: 検索したいユーザー名またはメールアドレスのプレフィックスまたはサフィックス。
User オブジェクトの配列。
method Api.webhook_integrations
entity: インテグレーションを取得する対象のエンティティ (例: チーム名) 。指定されていない場合は、ユーザーのデフォルトのエンティティが使用されます。per_page: 1 ページあたりに取得するインテグレーションの数。デフォルトは 50。通常、この値を変更する必要はありません。
Iterator[WebhookIntegration]: webhook インテグレーションのイテレータ。