Api API (Application Programming Interface) は、プログラム間でデータや機能をやり取りするためのインターフェースを提供します。W&B API は、ユーザーがwandb を通じて**Projects**、**Entities**、**Runs**などのデータにアクセスし、管理することを可能にします。このAPIにより、**Experiments**の追跡や**Reports**の共有を自動化できます。W&B APIはPythonを含むさまざまなプログラミング言語で利用可能です。これにより、カスタムスクリプトの作成や他のツールとの統合が簡単になります。APIの使用方法に関する詳細な情報は、[API documentation](https://wandb.ai)を参照してください。
6 minute read
wandb サーバーをクエリするために使用されます。
Api( overrides: Optional[Dict[str, Any]] = None, timeout: Optional[int] = None, api_key: Optional[str] = None ) -> None
例:
最も一般的な初期化方法
>>> wandb.Api()
引数 | |
---|---|
overrides | (dict) https://api.wandb.ai 以外の wandb サーバーを使用している場合に base_url を設定できます。また、entity 、project 、および run のデフォルト設定をすることができます。 |
属性 |
---|
メソッド
artifact
artifact( name: str, type: Optional[str] = None )
project/name
または entity/project/name
の形式でパスを解析することにより、単一のアーティファクトを返します。
引数 | |
---|---|
name | (str) アーティファクト名。project/ または entity/project/ で始まる場合があります。name に entity が指定されていない場合、Run または API 設定の entity が使用されます。有効な名前は次の形式になります: name:version name:alias |
type | (str, オプション) 取得するアーティファクトのタイプ。 |
戻り値 | |
---|---|
Artifact オブジェクト。 |
例外 | |
---|---|
ValueError | アーティファクト名が指定されていない場合。 |
ValueError | アーティファクトタイプが指定されているが、取得したアーティファクトのタイプと一致しない場合。 |
注意:
このメソッドは外部利用のみを目的としています。wandb リポジトリコード内で api.artifact()
を呼び出さないでください。
artifact_collection
artifact_collection( type_name: str, name: str ) -> "public.ArtifactCollection"
タイプと entity/project/name
の形式でパスを解析することにより、単一のアーティファクトコレクションを返します。
引数 | |
---|---|
type_name | (str) 取得するアーティファクトコレクションのタイプ。 |
name | (str) アーティファクトコレクション名。entity/project で始まる場合があります。 |
戻り値 | |
---|---|
ArtifactCollection オブジェクト。 |
artifact_collection_exists
artifact_collection_exists( name: str, type: str ) -> bool
指定されたプロジェクトとエンティティ内にアーティファクトコレクションが存在するかどうかを返します。
引数 | |
---|---|
name | (str) アーティファクトコレクション名。entity/project で始まる場合があります。entity または project が指定されていない場合、オーバーライドパラメーターから推測されます。その他の場合、entity はユーザー設定から取得され、project は “uncategorized” にデフォルト設定されます。 |
type | (str) アーティファクトコレクションのタイプ |
戻り値 | |
---|---|
アーティファクトコレクションが存在する場合は True、そうでない場合は False。 |
artifact_collections
artifact_collections( project_name: str, type_name: str, per_page: Optional[int] = 50 ) -> "public.ArtifactCollections"
一致するアーティファクトコレクションのコレクションを返します。
引数 | |
---|---|
project_name | (str) フィルタリングするプロジェクトの名前。 |
type_name | (str) フィルタリングするアーティファクトタイプの名前。 |
per_page | (int, オプション) クエリのページネーションのページサイズを設定します。None はデフォルトサイズを使用します。通常、これを変更する理由はありません。 |
戻り値 | |
---|---|
イテラブルな ArtifactCollections オブジェクト。 |
artifact_exists
artifact_exists( name: str, type: Optional[str] = None ) -> bool
指定されたプロジェクトとエンティティ内にアーティファクトバージョンが存在するかどうかを返します。
引数 | |
---|---|
name | (str) アーティファクト名。entity/project で始まる場合があります。entity または project が指定されていない場合、オーバーライドパラメータから推測されます。その他の場合、entity はユーザー設定から取得され、project は “uncategorized” にデフォルト設定されます。有効な名前は次の形式になります: name:version name:alias |
type | (str, オプション) アーティファクトのタイプ |
戻り値 | |
---|---|
アーティファクトバージョンが存在する場合は True、そうでない場合は False。 |
artifact_type
artifact_type( type_name: str, project: Optional[str] = None ) -> "public.ArtifactType"
一致する ArtifactType
を返します。
引数 | |
---|---|
type_name | (str) 取得するアーティファクトタイプの名前。 |
project | (str, オプション) 指定されている場合、フィルタリングするプロジェクト名またはパス。 |
戻り値 | |
---|---|
ArtifactType オブジェクト。 |
artifact_types
artifact_types( project: Optional[str] = None ) -> "public.ArtifactTypes"
一致するアーティファクトタイプのコレクションを返します。
引数 | |
---|---|
project | (str, オプション) 指定されている場合、フィルタリングするプロジェクト名またはパス。 |
戻り値 | |
---|---|
イテラブルな ArtifactTypes オブジェクト。 |
artifact_versions
artifact_versions( type_name, name, per_page=50 )
非推奨、代わりに artifacts(type_name, name)
を使用してください。
artifacts
artifacts( type_name: str, name: str, per_page: Optional[int] = 50, tags: Optional[List[str]] = None ) -> "public.Artifacts"
指定されたパラメータから Artifacts
コレクションを返します。
引数 | |
---|---|
type_name | (str) 取得するアーティファクトのタイプ。 |
name | (str) アーティファクトコレクションの名前。entity/project で始まる場合があります。 |
per_page | (int, オプション) クエリのページネーションのページサイズを設定します。None はデフォルトサイズを使用します。通常、これを変更する理由はありません。 |
tags | (list[str], オプション) これらのタグがすべて含まれているアーティファクトのみを返します。 |
戻り値 | |
---|---|
イテラブルな Artifacts オブジェクト。 |
create_project
create_project( name: str, entity: str ) -> None
新しいプロジェクトを作成します。
引数 | |
---|---|
name | (str) 新しいプロジェクトの名前。 |
entity | (str) 新しいプロジェクトのエンティティ。 |
create_run
create_run( *, run_id: Optional[str] = None, project: Optional[str] = None, entity: Optional[str] = None ) -> "public.Run"
新しい run を作成します。
引数 | |
---|---|
run_id | (str, オプション) 指定された場合、run に割り当てられる ID。run ID はデフォルトで自動生成されますので、通常はこれを指定する必要はありません。指定する場合はリスクを負ってください。 |
project | (str, オプション) 指定された場合、新しい run のプロジェクト。 |
entity | (str, オプション) 指定された場合、新しい run のエンティティ。 |
戻り値 | |
---|---|
新たに作成された Run 。 |
create_run_queue
create_run_queue( name: str, type: "public.RunQueueResourceType", entity: Optional[str] = None, prioritization_mode: Optional['public.RunQueuePrioritizationMode'] = None, config: Optional[dict] = None, template_variables: Optional[dict] = None ) -> "public.RunQueue"
新しい run キュー (launch) を作成します。
引数 | |
---|---|
name | (str) 作成するキューの名前 |
type | (str) キューに使用されるリソースのタイプ。“local-container”、“local-process”、“kubernetes”、“sagemaker”、または “gcp-vertex” のいずれか。 |
entity | (str) キューを作成するエンティティのオプションの名前。None の場合、設定されたまたはデフォルトのエンティティが使用されます。 |
prioritization_mode | (str) オプションのプライオリティバージョン。“V0” または None |
config | (dict) キューに使用されるデフォルトのリソース設定のオプション。テンプレート変数を指定するにはハンドルバー(例:{{var}} )を使用します。 |
template_variables | (dict) 設定内で使用されるテンプレート変数のスキーマの辞書。期待される形式: { "var-name": { "schema": { "type": ("string", "number", or "integer"), "default": (optional value), "minimum": (optional minimum), "maximum": (optional maximum), "enum": [..."(options)"] } } } |
戻り値 | |
---|---|
新しく作成された RunQueue |
例外 | |
---|---|
ValueError: パラメーターのいずれかが無効な場合 wandb.Error: wandb API のエラー |
create_team
create_team( team, admin_username=None )
新しいチームを作成します。
引数 | |
---|---|
team | (str) チーム名 |
admin_username | (str) チームの管理ユーザーのオプションのユーザー名、デフォルトは現在のユーザーです。 |
戻り値 | |
---|---|
Team オブジェクト |
create_user
create_user( email, admin=(False) )
新しいユーザーを作成します。
引数 | |
---|---|
email | (str) ユーザーのメールアドレス |
admin | (bool) このユーザーがグローバルインスタンス管理者であるかどうか |
戻り値 | |
---|---|
User オブジェクト |
flush
flush()
ローカルキャッシュをフラッシュします。
API オブジェクトは run のローカルキャッシュを保持するため、スクリプトを実行中に run の状態が変更される可能性がある場合、api.flush()
を使用してローカルキャッシュをクリアし、run に関連付けられた最新の値を取得します。
from_path
from_path( path )
パスから run、sweep、プロジェクト、またはレポートを返します。
例:
project = api.from_path("my_project") team_project = api.from_path("my_team/my_project") run = api.from_path("my_team/my_project/runs/id") sweep = api.from_path("my_team/my_project/sweeps/id") report = api.from_path("my_team/my_project/reports/My-Report-Vm11dsdf")
引数 | |
---|---|
path | (str) プロジェクト、run、sweep、またはレポートへのパス |
戻り値 | |
---|---|
Project 、Run 、Sweep 、または BetaReport インスタンス。 |
例外 | |
---|---|
wandb.Error: パスが無効、またはオブジェクトが存在しない場合 |
job
job( name: Optional[str], path: Optional[str] = None ) -> "public.Job"
指定されたパラメーターから Job
を返します。
引数 | |
---|---|
name | (str) ジョブの名前。 |
path | (str, オプション) 指定された場合、ジョブアーティファクトをダウンロードするルートパス。 |
戻り値 | |
---|---|
Job オブジェクト。 |
list_jobs
list_jobs( entity: str, project: str ) -> List[Dict[str, Any]]
指定されたエンティティとプロジェクトに対して、利用可能なジョブのリストを返します。
引数 | |
---|---|
entity | (str) リストされたジョブのエンティティ。 |
project | (str) リストされたジョブのプロジェクト。 |
戻り値 | |
---|---|
一致するジョブのリスト。 |
project
project( name: str, entity: Optional[str] = None ) -> "public.Project"
指定された名前 (および指定された場合はエンティティ) の Project
を返します。
引数 | |
---|---|
name | (str) プロジェクト名。 |
entity | (str) リクエストされたエンティティ名。None の場合、Api に渡されたデフォルトのエンティティにフォールバックします。デフォルトのエンティティがない場合は、ValueError をスローします。 |
戻り値 | |
---|---|
Project オブジェクト。 |
projects
projects( entity: Optional[str] = None, per_page: Optional[int] = 200 ) -> "public.Projects"
指定されたエンティティのプロジェクトを取得します。
引数 | |
---|---|
entity | (str) リクエストされたエンティティ名。None の場合、Api に渡されたデフォルトのエンティティにフォールバックします。デフォルトのエンティティがない場合は、ValueError をスローします。 |
per_page | (int) クエリのページネーションのページサイズを設定します。None はデフォルトサイズを使用します。通常、これを変更する理由はありません。 |
戻り値 | |
---|---|
Projects オブジェクトで、Project オブジェクトのイテラブルなコレクションです。 |
queued_run
queued_run( entity, project, queue_name, run_queue_item_id, project_queue=None, priority=None )
パスに基づいて単一のキューされた run を返します。
entity/project/queue_id/run_queue_item_id
の形式のパスを解析します。
registries
registries( organization: Optional[str] = None, filter: Optional[Dict[str, Any]] = None ) -> Registries
レジストリのイテレータを返します。
イテレータを使用して、組織のレジストリ内のレジストリ、コレクション、またはアーティファクトバージョンを検索およびフィルタリングします。
例:
“model” を含む名前のすべてのレジストリを見つけます。
import wandb api = wandb.Api() # エンティティが複数の組織に属する場合、組織を指定します。 api.registries(filter={"name": {"$regex": "model"}})
“my_collection” という名前と “my_tag” というタグのあるコレクションをレジストリで見つけます。
api.registries().collections(filter={"name": "my_collection", "tag": "my_tag"})
“my_collection” を含むコレクション名と “best” というエイリアスを持つバージョンのあるすべてのアーティファクトバージョンを見つけます。
api.registries().collections( filter={"name": {"$regex": "my_collection"}} ).versions(filter={"alias": "best"})
“model” を含み、タグ “prod” またはエイリアス “best” を持つすべてのアーティファクトバージョンをレジストリで見つけます。
api.registries(filter={"name": {"$regex": "model"}}).versions( filter={"$or": [{"tag": "prod"}, {"alias": "best"}]} )
引数 | |
---|---|
organization | (str, オプション) 取得するレジストリの組織。指定されていない場合、ユーザー設定で指定された組織を使用します。 |
filter | (dict, オプション) レジストリイテレータ内の各オブジェクトに適用する MongoDB スタイルのフィルタ。コレクションをフィルタリングする際に利用可能なフィールド: name , description , created_at , updated_at 。コレクションをフィルタリングする際に利用可能なフィールド: name , tag , description , created_at , updated_at 。バージョンをフィルタリングする際に利用可能なフィールド: tag , alias , created_at , updated_at , metadata |
戻り値 | |
---|---|
レジストリのイテレータ。 |
reports
reports( path: str = "", name: Optional[str] = None, per_page: Optional[int] = 50 ) -> "public.Reports"
指定されたプロジェクトパスのレポートを取得します。
警告: この API はベータ版であり、将来のリリースで変更される可能性があります。
引数 | |
---|---|
path | (str) レポートが存在するプロジェクトのパス、形式は: “entity/project” となります。 |
name | (str, オプション) リクエストされたレポートのオプションの名前。 |
per_page | (int) クエリのページネーションのページサイズを設定します。None はデフォルトサイズを使用します。通常、これを変更する理由はありません。 |
戻り値 | |
---|---|
Reports オブジェクトで、BetaReport オブジェクトのイテラブルなコレクションです。 |
run
run( path="" )
entity/project/run_id
の形式でパスを解析することにより、単一の run を返します。
引数 | |
---|---|
path | (str) entity/project/run_id 形式の run へのパス。api.entity が設定されている場合、この形式は project/run_id となり、api.project が設定されている場合、run_id のみです。 |
戻り値 | |
---|---|
Run オブジェクト。 |
run_queue
run_queue( entity, name )
エンティティの名前付き RunQueue
を返します。
新しい RunQueue
を作成するには、wandb.Api().create_run_queue(...)
を使用してください。
runs
runs( path: Optional[str] = None, filters: Optional[Dict[str, Any]] = None, order: str = "+created_at", per_page: int = 50, include_sweeps: bool = (True) )
指定されたフィルターに一致するプロジェクトからの一連の run を返します。
フィルターに使用できるフィールドには以下のものがあります:
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 を開始したユーザーのユーザー名。
さらに、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
例:
設定されている foo という experiment_name を持つ my_project 内の run を見つけます
api.runs( path="my_entity/my_project", filters={"config.experiment_name": "foo"}, )
設定されている foo または bar という experiment_name を持つ my_project 内の run を見つけます
api.runs( path="my_entity/my_project", filters={ "$or": [ {"config.experiment_name": "foo"}, {"config.experiment_name": "bar"}, ] }, )
experiment_name が正規表現に一致する my_project 内の run を見つけます(アンカーはサポートされていません)
api.runs( path="my_entity/my_project", filters={"config.experiment_name": {"$regex": "b.*"}}, )
run の名前が正規表現に一致する my_project 内の run を見つけます(アンカーはサポートされていません)
api.runs( path="my_entity/my_project", filters={"display_name": {"$regex": "^foo.*"}}, )
実験に “category” というネストされたフィールドを持つ run を探します
api.runs( path="my_entity/my_project", filters={"config.experiment.category": "testing"}, )
要約メトリクスの model1 下に辞書としてネストされている損失値0.5を持つ run を探します
api.runs( path="my_entity/my_project", filters={"summary_metrics.model1.loss": 0.5}, )
上昇損失に基づいて my_project 内の run を探します
api.runs(path="my_entity/my_project", order="+summary_metrics.loss")
引数 | |
---|---|
path | (str) プロジェクトへのパス。形式は: “entity/project” |
filters | (dict) MongoDB クエリ言語を使用して特定の run をクエリします。run のプロパティ(config.key、summary_metrics.key、state、entity、createdAt など)でフィルタリングできます。例: {"config.experiment_name": "foo"} は、実験名に foo が設定されている run を見つけます。 |
order | (str) 並び順は created_at 、heartbeat_at 、config.*.value 、summary_metrics.* にできます。order の前に + を付けると昇順になります。order の前に - を付けると降順(デフォルト)になります。デフォルトの並び順は、run の created_at で、古い順から新しい順です。 |
per_page | (int) クエリのページネーションのページサイズを設定します。 |
include_sweeps | (bool) 結果に sweep run を含めるかどうか。 |
戻り値 | |
---|---|
Runs オブジェクトで、Run オブジェクトのイテラブルなコレクションです。 |
sweep
sweep( path="" )
sweep_id
の形式でパスを解析することにより、sweep を返します。
引数 | |
---|---|
path | (str, オプション) エンティティまたはプロジェクトの設定がされていない場合、sweep に対するパスの形式は entity/project/sweep_id である必要があります。api.entity が設定されている場合、この形式は project/sweep_id になり、api.project が設定されている場合、sweep_id のみです。 |
戻り値 | |
---|---|
Sweep オブジェクト。 |
sync_tensorboard
sync_tensorboard( root_dir, run_id=None, project=None, entity=None )
tfevent ファイルを含むローカルディレクトリを wandb に同期します。
team
team( team: str ) -> "public.Team"
指定された名前の Team
を返します。
引数 | |
---|---|
team | (str) チーム名。 |
戻り値 | |
---|---|
Team オブジェクト。 |
upsert_run_queue
upsert_run_queue( name: str, resource_config: dict, resource_type: "public.RunQueueResourceType", entity: Optional[str] = None, template_variables: Optional[dict] = None, external_links: Optional[dict] = None, prioritization_mode: Optional['public.RunQueuePrioritizationMode'] = None )
run キュー (launch) をアップサートします。
引数 | |
---|---|
name | (str) 作成するキューの名前 |
entity | (str) 作成するキューのエンティティのオプションの名前。None の場合、設定されたまたはデフォルトのエンティティを使用します。 |
resource_config | (dict) キューに使用されるデフォルトのリソース設定のオプション。テンプレート変数を指定するにはハンドルバー(例:{{var}} )を使用します。 |
resource_type | (str) キューに使用されるリソースのタイプ。“local-container”、“local-process”、“kubernetes”、“sagemaker”、または “gcp-vertex” のいずれか。 |
template_variables | (dict) 設定内で使用されるテンプレート変数のスキーマの辞書。期待される形式: { "var-name": { "schema": { "type": ("string", "number", or "integer"), "default": (optional value), "minimum": (optional minimum), "maximum": (optional maximum), "enum": [..."(options)"] } } } |
external_links | (dict) キューで使用される外部リンクのオプションの辞書。期待される形式: { "name": "url" } |
prioritization_mode | (str) 使用するプライオリティのバージョン。 “V0” または None |
戻り値 | |
---|---|
アップサートされた RunQueue 。 |
例外 | |
---|---|
ValueError: パラメーターのいずれかが無効な場合 wandb.Error: wandb API のエラー |
user
user( username_or_email: str ) -> Optional['public.User']
ユーザー名またはメールアドレスからユーザーを返します。
注意: この関数はローカル管理者のみ機能します。 自分のユーザーオブジェクトを取得しようとしている場合は api.viewer
を使用してください。
引数 | |
---|---|
username_or_email | (str) ユーザーのユーザー名またはメールアドレス |
戻り値 | |
---|---|
User オブジェクトまたはユーザーが見つからない場合は None |
users
users( username_or_email: str ) -> List['public.User']
部分的なユーザー名またはメールアドレスクエリからすべてのユーザーを返します。
注意: この関数はローカル管理者のみ機能します。 自分のユーザーオブジェクトを取得しようとしている場合は api.viewer
を使用してください。
引数 | |
---|---|
username_or_email | (str) 検索したいユーザーのプレフィックスまたはサフィックス |
戻り値 | |
---|---|
User オブジェクトの配列 |
クラス変数 | |
---|---|
CREATE_PROJECT | |
DEFAULT_ENTITY_QUERY | |
USERS_QUERY | |
VIEWER_QUERY |
フィードバック
このページは役に立ちましたか?
Glad to hear it! If you have more to say, please let us know.
Sorry to hear that. Please tell us how we can improve.