クラス wandb.Api
引数
overrides:https://api.wandb.ai以外の W&B Server を使用している場合は、base_urlを設定できます。entity、project、runのデフォルト値も設定できます。timeout: API リクエストの HTTP タイムアウト (秒) 。指定しない場合は、デフォルトのタイムアウトが使用されます。api_key: 認証に使用する APIキー。指定しない場合は、現在の環境または設定の APIキーが使用されます。APIキーが指定されておらず、環境にも設定されていない場合は、APIキーの入力を求められます。
例
プロパティ
プロパティ default_entity
デフォルトの W&B entity を返します。プロパティ user_agent
W&B の公開用ユーザーエージェントを返します。プロパティ viewer
viewer オブジェクトを返します。メソッド
method Api.artifact()
引数
name: artifactの名。artifactの名はファイルパスのような形式で、少なくともartifactがログされたprojectの名、artifactの名、artifactのバージョンまたはaliasで構成されます。必要に応じて、artifactをログしたentityを接頭辞として追加し、その後にスラッシュ (/) を続けます。名にentityが指定されていない場合は、RunまたはAPI設定のentityが使用されます。type: 取得するartifactのタイプ。
送出される例外
ValueError: artifactの名が指定されていない場合。ValueError: artifactのタイプが指定されているものの、取得したartifactのタイプと一致しない場合。
例
次のコードスニペットでは、“entity”、“project”、“artifact”、“version”、“alias” は、それぞれW&Bのentity、artifactが含まれるprojectの名、artifactの名、artifactのバージョン、artifactのaliasを表すプレースホルダーです。method Api.artifact_collection()
ArtifactCollection オブジェクトを使用すると、その collection 内の特定の artifact に関する情報などを取得できます。
引数
type_name: 取得する アーティファクト コレクション のタイプ。name: アーティファクト コレクション の名前。必要に応じて、artifact をログした entity をプレフィックスとして先頭に付け、その後にスラッシュを続けます。
例
次のコードスニペットでは、“type”、“entity”、“project”、および “artifact_name” は、それぞれ collection のタイプ、あなたの W&B entity、artifact が含まれている project 名、および artifact の名前を表す プレースホルダーです。method Api.artifact_collection_exists()
引数
name: アーティファクト コレクションの名。必要に応じて、artifactをログしたentityを接頭辞として付け、その後にスラッシュを続けます。entityまたはprojectが指定されていない場合は、overrideパラメータがあればそこからcollectionを推定します。そうでない場合、entityはユーザー設定から取得され、projectのデフォルトは”uncategorized”になります。type: アーティファクト コレクションのタイプ。
例
以降のコードスニペットでは、“type”と”collection_name”はそれぞれアーティファクト コレクションのタイプとcollectionの名を指します。method Api.artifact_collections()
引数
project_name: フィルター対象の project 名。type_name: フィルター対象の アーティファクト タイプ 名。order: 結果の順序を指定する省略可能な string。接頭辞に ’+’ が付いている場合は昇順 (デフォルト) で並べ替えます。接頭辞に ’-’ が付いている場合は降順で並べ替えます。per_page: クエリのページネーションにおけるページサイズを設定します。通常は変更する必要はありません。start: 過去のクエリを再開するためのページネーション カーソル。前の paginator の.cursor属性から取得します。
method Api.artifact_exists()
引数
name: artifactの名。先頭にartifactのentityとprojectを付けます。末尾には、artifactのバージョンまたはaliasをコロン区切りで追加します。entityまたはprojectが指定されていない場合、値が設定されていれば W&B は override パラメーターを使用します。そうでない場合、entity はユーザー設定から取得され、projectは”Uncategorized”に設定されます。type: artifactのタイプ。
例
以下のコードスニペットでは、“entity”、“project”、“artifact”、“version”、および”alias”は、それぞれあなたの W&B entity、artifact が含まれるprojectの名、artifact の名、artifact のバージョンを表すプレースホルダーです。method Api.artifact_type()
ArtifactType を返します。
引数
type_name: 取得する アーティファクト タイプの名前。project: 指定した場合、絞り込み対象のプロジェクト名またはパス。
method Api.artifact_types()
引数
project: フィルター対象の project 名またはパス。start: 前回のクエリを再開するためのページネーション カーソル。以前の paginator の.cursor属性から取得します。
method Api.artifact_versions()
Api.artifacts(type_name, name) method を使用してください。
引数
type_name:name:per_page:
method Api.artifacts()
Artifacts コレクションを返します。
引数
type_name: 取得する アーティファクト タイプ。name: アーティファクト のコレクション名。必要に応じて、アーティファクト をログした entity をプレフィックスとして付け、その後にスラッシュを追加します。order: 結果の並び順を指定する省略可能な string。+をプレフィックスとして付けると昇順 (デフォルト) で並べ替えます。-をプレフィックスとして付けると降順で並べ替えます。per_page: クエリのページネーションにおけるページサイズを設定します。通常は、これを変更する必要はありません。tags: これらのタグをすべて持つ アーティファクト のみを返します。start: 過去のクエリを再開するためのページネーションカーソル。以前の paginator の.cursor属性から取得します。
例
以下のコードスニペットでは、“type”、“entity”、“project”、および “artifact_name” は、それぞれ アーティファクト タイプ、W&B entity、アーティファクト がログされた project の名、および アーティファクト の名を表すプレースホルダーです。paginator の .cursor を保存し、
それを start= に渡すと、イテレーションを一時停止し、後で同じ位置から再開できます:
method Api.automation()
引数
name: 取得する オートメーション の名前。entity: オートメーション の取得対象の entity。
送出される例外
ValueError: 検索条件に一致する オートメーション が 0 件、または複数件ある場合。
例
“my-automation” という名前の既存の オートメーション を取得します:method Api.automations()
引数
entity: オートメーション を取得する対象の entity。name: 取得する オートメーション の名。per_page: 1 ページあたりに取得する オートメーション の数。デフォルトは 50 です。通常、これを変更する必要はありません。start: 過去のクエリを再開するためのページネーションカーソル。以前の paginator の.cursor属性から取得します。
例
entity “my-team” の既存の オートメーション をすべて取得します:method Api.create_automation()
引数
obj: 作成するオートメーション。fetch_existing: True の場合、競合するオートメーションがすでに存在するときは、エラーを発生させる代わりに既存のオートメーションの取得を試みます。kwargs:
例
特定の project 内の run がカスタムしきい値を超えるメトリクスをログしたときに Slack 通知を送信する、my-automation という名前の新しいオートメーションを作成します。
method Api.create_custom_chart()
引数
entity: チャートを所有する entity (ユーザーまたはチーム)name: チャートプリセットの一意の識別子display_name: UI に表示される、人が理解しやすい名前spec_type: 仕様のタイプ。Vega-Lite v2 の仕様では “vega2” である必要があります。access: チャートのアクセスレベル:- “private”: チャートを作成した entity のみがアクセス可能
- “public”: チャートは公開アクセス可能
spec: dict または JSON 文字列として表した Vega/Vega-Lite 仕様
送出される例外
wandb.Error: チャートの作成に失敗した場合UnsupportedError: サーバーがカスタムチャートをサポートしていない場合
例
method Api.create_project()
引数
name: 新しいprojectの名前。entity: 新しいprojectの entity。
method Api.create_registry()
引数
name: レジストリの名です。名は組織内で一意である必要があります。visibility: レジストリの公開範囲です。 organization: 組織内の誰でもこのレジストリを表示できます。ロールは後で UI の設定から編集できます。 restricted: UI で招待されたメンバーのみがこのレジストリにアクセスできます。公開共有は無効になります。organization: レジストリの組織です。設定で組織が指定されていない場合、entity が 1 つの組織にのみ属していれば、その組織が entity から取得されます。description: レジストリの説明です。artifact_types: レジストリで受け入れ可能なアーティファクト タイプです。タイプは 128 文字以内で、/または:を含めることはできません。指定しない場合は、すべてのタイプが受け入れられます。レジストリに追加した許可タイプは後から削除できません。
例
method Api.create_run()
引数
run_id: runに割り当てるID。指定しない場合、W&BがランダムなIDを生成します。project: runをログする先のproject。指定しない場合、“Uncategorized” という名前のprojectにrunをログします。entity: projectの所有者であるentity。指定しない場合、デフォルトのentityに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と一緒に使用するテンプレート変数スキーマの辞書。
method Api.create_team()
create_team() を呼び出す前に、W&B UI の User Settings で Default API organization を設定してください。
この設定によって、新しいチームの所属先となる組織が決まります。
引数
team: チームの名前admin_username: チームの管理者ユーザーのユーザー名。デフォルトでは現在のユーザーです。
method Api.create_user()
引数
email: ユーザーのメールアドレス。admin: ユーザーをインスタンス全体の管理者に設定します。
method Api.delete_automation()
引数
obj: 削除対象の オートメーション、またはその ID。
method Api.flush()
api.flush() でローカルキャッシュをクリアし、run に関連付けられた最新の値を取得する必要があります。
method Api.from_path()
引数
path: project、run、sweep、または レポート へのパス
例
以下に示すコードスニペットでは、“project”、“チーム”、“run_id”、“sweep_id”、 および “report_name” は、それぞれproject、チーム、run ID、 sweep ID、および特定の レポート 名を表すプレースホルダーです。method Api.integrations()
引数
entity: インテグレーションを取得する対象の entity (例: チーム名) 。指定しない場合は、ユーザーのデフォルト entity が使用されます。per_page: 1 ページあたりに取得するインテグレーション数。デフォルトは 50 です。通常、これを変更する必要はありません。start:
method Api.job()
Job オブジェクトを返します。
引数
name: ジョブ名。path: ジョブ artifact をダウンロードするルートパス。
method Api.list_jobs()
引数
entity: 一覧表示するジョブのentity。project: 一覧表示するジョブのproject。
method Api.organization()
Organization を返します。
引数
name: 組織名。省略した場合、このメソッドは現在のデフォルト組織を推定して返します。
method Api.project()
Project を返します (entity が指定されている場合は、その entity の Project) 。
引数
name: プロジェクト名。entity: 取得する entity の名前。Noneの場合は、Apiに渡されたデフォルトの entity が使用されます。デフォルトの entity がない場合は、ValueErrorを送出します。
method Api.projects()
引数
entity: 要求されたentityの名です。Noneの場合は、Apiに渡されたデフォルトのentityが使用されます。デフォルトのentityがない場合は、ValueErrorが発生します。per_page: クエリのページネーションにおけるページサイズを設定します。通常、これを変更する必要はありません。
method Api.queued_run()
entity/project/queue_id/run_queue_item_id 形式のパスを解析します。
引数
entity:project:queue_name:run_queue_item_id:project_queue:priority:
method Api.registries()
Registry オブジェクトの遅延イテレーターを返します。
このイテレーターを使用して、組織のレジストリ全体にあるレジストリ、コレクション、
または artifact バージョンを検索したり、フィルターしたりできます。
引数
organization: 取得するレジストリの組織。指定しない場合は、ユーザーの Settings で指定された組織を使用します。filter: 遅延レジストリイテレーター内の各オブジェクトに適用する、省略可能な MongoDB スタイルのフィルター。レジストリに対してフィルターできるフィールドはname、description、created_at、updated_atです。コレクション に対してフィルターできるフィールドはname、tag、description、created_at、updated_atです。バージョンに対してフィルターできるフィールドはtag、alias、created_at、updated_at、metadataです。order: 結果の順序を指定する省略可能な string。接頭辞が+の場合は昇順 (デフォルト) で並べ替えます。接頭辞が-の場合は降順で並べ替えます。per_page: クエリのページネーションにおけるページサイズを設定します。start: 過去のクエリを再開するためのページネーションカーソル。以前の paginator の.cursor属性から取得します。
例
名前に “model” を含むすべてのレジストリを検索する.cursor を保存して start= に渡すと、イテレーションを一時停止し、後で同じ位置から再開できます:
method Api.registry()
引数
name: レジストリの名前。wandb-registry-プレフィックスは含みません。organization: レジストリの組織。Settings で組織が設定されていない場合、entity が 1 つの組織にのみ所属していれば、その entity から組織を取得します。
例
レジストリを取得して更新するmethod Api.reports()
wandb.Api.reports() API はベータ版のため、今後の version で変更される可能性があります。
引数
path: レポートが存在するprojectのパスです。projectを作成した entity をプレフィックスとして指定し、その後にスラッシュを付けます。name: 取得するレポートの名です。per_page: クエリのページネーションにおけるページサイズを設定します。通常、これを変更する必要はありません。
例
method Api.run()
entity/project/run_id 形式のパスを解析して、1 つの run を返します。
引数
path:entity/project/run_id形式の run へのパス。api.entityが設定されている場合はproject/run_id形式でも指定でき、api.projectが設定されている場合は run_id のみでも指定できます。
発生する例外
RunNotFoundError: run が見つからない場合、または run データを読み込めない場合。
method Api.run_queue()
RunQueue を返します。
run キューの作成方法の詳細については、Api.create_run_queue を参照してください。
引数
entity:name:
method 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) project へのパス。形式は “entity/project” である必要がありますfilters: (dict) MongoDB クエリ言語を使用して特定の run をクエリするための条件。config.key、summary_metrics.key、state、entity、createdAt などの run のプロパティでフィルターできます。たとえば:{"config.experiment_name": "foo"}は、experiment name の設定エントリが “foo” に設定されている run を検索しますorder: (str) 順序にはcreated_at、heartbeat_at、config.*.value、またはsummary_metrics.*を指定できます。先頭に + を付けると昇順 (デフォルト) 、- を付けると降順になります。デフォルトの順序は、古いものから新しいものへの run.created_at です。per_page: (int) クエリのページネーションのページサイズを設定します。include_sweeps: (bool) 各 run の結果で sweep オブジェクトを事前に取得するかどうか。lazy: (bool) より高速なパフォーマンスのために遅延読み込みを使用するかどうか。True (デフォルト) の場合、最初は必要最小限の run メタデータのみが読み込まれます。config、summaryMetrics、systemMetrics などの重いフィールドは、アクセス時にオンデマンドで読み込まれます。最初から完全なデータを取得するには False に設定してください。
例
method Api.slack_integrations()
引数
entity: インテグレーションを取得する対象の entity (例: チーム名) 。指定しない場合は、ユーザーのデフォルト entity が使用されます。per_page: 1 ページあたりに取得するインテグレーション数。デフォルトは 50 です。通常、これを変更する必要はありません。start:
例
チーム “my-team” に登録されているすべての Slack インテグレーションを取得します:method Api.sweep()
entity/project/sweep_id 形式のパスを解析して sweep を返します。
引数
path:entity/project/sweep_id形式の sweep へのパス。api.entityが設定されている場合はproject/sweep_id形式でも指定でき、api.projectが設定されている場合はsweep_idのみでも指定できます。
method Api.sync_tensorboard()
引数
root_dir:run_id:project:entity:
method Api.team()
Team を返します。
引数
team: チームの名前。
method Api.update_automation()
引数
obj: 更新するオートメーション。既存のオートメーションである必要があります。create_missing: True の場合、オートメーションが存在しなければ作成します。kwargs:
Examples
method Api.upsert_run_queue()
引数
name: 作成するキューの名resource_config: キューに使用する任意のデフォルトのリソース設定。テンプレート変数を指定するには、handlebars (例:{{var}}) を使用します。resource_type: キューに使用するリソースのタイプ。“local-container”、“local-process”、“kubernetes”、“sagemaker”、または “gcp-vertex” のいずれかです。entity: キューを作成する entity の任意の名。Noneの場合は、設定済みまたはデフォルトの entity を使用します。template_variables: 設定で使用するテンプレート変数スキーマの辞書。external_links: キューで使用する外部リンクの任意の辞書。prioritization_mode: 使用する優先順位付けの任意のバージョン。“V0” または None のいずれかです
method Api.user()
api.viewer
を使用します。
引数
username_or_email: 対象ユーザーのユーザー名またはメールアドレス。
method Api.users()
api.viewer を使用します。
引数
username_or_email: 検索したいユーザー名またはメールアドレスの接頭辞または接尾辞。
method Api.webhook_integrations()
引数
entity: インテグレーションを取得する対象の entity (例: チーム名) 。指定しない場合は、ユーザーのデフォルト entity が使用されます。per_page: 1 ページあたりに取得するインテグレーション数。デフォルトは 50 です。通常、これを変更する必要はありません。start: