これは、このセクションの複数ページの印刷可能なビューです。 印刷するには、ここをクリックしてください.

このページの通常のビューに戻る.

Python ライブラリ

wandb を使用して機械学習の作業を追跡します。

モデルをトレーニングおよびファインチューンし、実験からプロダクションに至るまでモデルを管理します。

ガイドや例については、https://docs.wandb.ai をご覧ください。

スクリプトやインタラクティブなノートブックについては、https://github.com/wandb/examples をご覧ください。

リファレンスドキュメントについては、https://docs.wandb.com/ref/python をご覧ください。

クラス

class Artifact: データセットおよびモデルのバージョン管理のための柔軟で軽量な構成要素。

class Run: wandb によってログされる計算の単位。通常、これは機械学習の実験です。

関数

agent(...): 一つ以上の sweep agent を開始します。

controller(...): パブリックな sweep コントローラのコンストラクタです。

finish(...): run を終了し、残りのデータをアップロードします。

init(...): 新しい run を開始して W&B へ追跡しログします。

log(...): run のデータをアップロードします。

login(...): W&B ログイン資格情報を設定します。

save(...): 一つ以上のファイルを W&B に同期します。

sweep(...): ハイパーパラメーター探索を初期化します。

watch(...): 指定された PyTorch のモデルにフックし、勾配とモデルの計算グラフを監視します。

その他のメンバー
__version__ '0.19.8'
config
summary

1 - init

新規のRunを開始して、W&Bにトラックしてログします。

init(
    entity: (str | None) = None,
    project: (str | None) = None,
    dir: (StrPath | None) = None,
    id: (str | None) = None,
    name: (str | None) = None,
    notes: (str | None) = None,
    tags: (Sequence[str] | None) = None,
    config: (dict[str, Any] | str | None) = None,
    config_exclude_keys: (list[str] | None) = None,
    config_include_keys: (list[str] | None) = None,
    allow_val_change: (bool | None) = None,
    group: (str | None) = None,
    job_type: (str | None) = None,
    mode: (Literal['online', 'offline', 'disabled'] | None) = None,
    force: (bool | None) = None,
    anonymous: (Literal['never', 'allow', 'must'] | None) = None,
    reinit: (bool | None) = None,
    resume: (bool | Literal['allow', 'never', 'must', 'auto'] | None) = None,
    resume_from: (str | None) = None,
    fork_from: (str | None) = None,
    save_code: (bool | None) = None,
    tensorboard: (bool | None) = None,
    sync_tensorboard: (bool | None) = None,
    monitor_gym: (bool | None) = None,
    settings: (Settings | dict[str, Any] | None) = None
) -> Run

MLトレーニングパイプラインでは、トレーニングスクリプトや評価スクリプトの最初にwandb.init()を追加することができます。それぞれの部分はW&BでのRunとしてトラックされます。

wandb.init()はバックグラウンドプロセスを立ち上げてRunにデータをログし、デフォルトで https://wandb.ai と同期して、リアルタイムで結果を見ることができます。

データをwandb.log()でログする前に、Runを開始するためにwandb.init()を呼び出します。データのログが終わったら、wandb.finish()を呼び出してRunを終了します。wandb.finish()を呼び出さない場合は、スクリプトが終了した時にRunが終了します。

wandb.init()の使い方や詳細な例については、ガイドとFAQをご覧ください。

例:

entityとプロジェクトを明示的に設定し、Runの名前を選択します:

import wandb

run = wandb.init(
    entity="geoff",
    project="capsules",
    name="experiment-2021-10-31",
)

# ... ここにトレーニングコードを記述 ...

run.finish()

config引数を使ってRunに関するメタデータを追加します:

import wandb

config = {"lr": 0.01, "batch_size": 32}
with wandb.init(config=config) as run:
    run.config.update({"architecture": "resnet", "depth": 34})

    # ... ここにトレーニングコードを記述 ...

wandb.init()をコンテキストマネージャとして使用することで、ブロックの終了時に自動的にwandb.finish()を呼び出すことができます。

引数
entity Runがログされるユーザー名またはチーム名。entityはすでに存在している必要があるため、Runをログし始める前にUIでアカウントまたはチームを作成したことを確認してください。指定しない場合、Runはデフォルトのエンティティにデフォルトされます。デフォルトのentityを変更するには、あなたの設定にアクセスして、「新規プロジェクトを作成するデフォルトの場所」を「デフォルトチーム」の下で更新します。
project このRunがログされるプロジェクトの名前。指定しない場合、プロジェクト名はシステムに基づいて推測され、gitルートや現在のプログラムファイルをチェックします。プロジェクト名を推測できない場合、プロジェクトはデフォルトで"uncategorized"になります。
dir 実験ログとメタデータファイルが保存されるディレクトリへの絶対パス。指定しない場合、デフォルトで./wandbディレクトリになります。download()を呼び出したときにアーティファクトが保存される場所には影響しませんので注意してください。
id このRunの一意の識別子で、再開に使用されます。プロジェクト内で一意である必要があり、Runが削除された場合は再利用できません。この識別子には次の特殊文字を含むことはできません: / \ # ? % :。短い記述的な名前にはnameフィールドを使用するか、Run間で比較するハイパーパラメータを保存する場合はconfigを使用します。
name このRunのUIに表示される短い表示名で、識別を助けます。デフォルトでは、テーブルからチャートへの容易なクロスリファレンスを可能にするランダムな二語の名前が生成されます。これらのRun名を短く保つことで、チャートの凡例やテーブルの可読性が向上します。ハイパーパラメータを保存するには、configフィールドを使用することをお勧めします。
notes Runの詳細な説明で、Gitのコミットメッセージに似ています。この引数を使用して、将来的にRunの目的やセットアップを思い出すのに役立つ文脈や詳細を記録します。
tags UIでこのRunにラベルを付けるためのタグのリスト。タグはRunを整理したり、“baseline"や"production"のような一時的な識別子を追加するのに役立ちます。UIでタグを簡単に追加、削除したり、タグでフィルタリングすることができます。Runを再開する場合、ここで提供されたタグは既存のタグを置き換えます。現在のタグを上書きせずに再開したRunにタグを追加するには、run = wandb.init()を呼び出した後にrun.tags += ["new_tag"]を使用します。
config wandb.configを設定し、Runへの入力パラメータ、例えばモデルハイパーパラメータやデータ前処理の設定を保存するための辞書のようなオブジェクトです。configはUIの概要ページに表示され、これらのパラメータに基づいてRunをグループ化、フィルタ、並べ替えることができます。キーにはピリオド(.)を含めることができず、値は10 MBより小さくする必要があります。辞書、argparse.Namespace、またはabsl.flags.FLAGSが提供された場合、キーと値のペアは直接wandb.configにロードされます。文字列が提供された場合、それはYAMLファイルへのパスと解釈され、設定値がwandb.configにロードされます。
config_exclude_keys wandb.configから除外する特定のキーのリスト。
config_include_keys wandb.configに含める特定のキーのリスト。
allow_val_change configの値を最初に設定した後に変更可能かどうかを制御します。デフォルトでは、config値が上書きされた場合に例外が発生します。変化する変数をトレーニング中にトラックするには、wandb.log()を使用することをお勧めします。デフォルトでは、スクリプトではFalseで、ノートブック環境ではTrueです。
group より大きな実験の一部として個別のRunを整理するためのグループ名を指定します。これは、クロスバリデーションや異なるテストセットでモデルをトレーニングして評価する複数のジョブを実行する場合のようなケースで便利です。グループ化を使用することで、関連するRunをUI上でまとめて管理し、一体化した実験として結果を簡単に切り替えたりレビューできます。詳細については、Runのグループ化に関するガイドを参照してください。
job_type 特にグループでのRunを整理する際に役立ちます。例えば、グループ内では、ジョブタイプとして"train"や"eval"などのラベルをRunに付けることができます。ジョブタイプを定義することで、UIで類似のRunを簡単にフィルタ、グループ化し、直接的な比較を促進します。
mode Runデータの管理方法を指定します。選択可能なオプションは次のとおりです: - "online"(デフォルト): ネットワーク接続が利用可能な場合、W&Bとライブ同期が可能で、可視化がリアルタイムで更新されます。 - "offline": エアギャップ環境やオフライン環境に適しており、データはローカルに保存され、後で同期できます。後の同期を可能にするためには、Runフォルダーの保存を保証してください。 - "disabled": すべてのW&B機能を無効にし、Runメソッドをno-opにします。通常、W&B操作をバイパスするためのテストに使用されます。
force スクリプトの実行にW&Bへのログインが必要かどうかを決定します。Trueの場合、ユーザーはW&Bにログインしていなければスクリプトを実行できません。False(デフォルト)の場合、ユーザーがログインしていない場合でもスクリプトはオフラインモードで続行することができます。
anonymous 匿名データのログレベルを指定します。利用可能なオプションは次のとおりです: - "never"(デフォルト): Runをトラックする前にW&Bアカウントをリンクする必要があります。これにより、各Runがアカウントに関連付けられていることを保証し、匿名Runの偶発的な作成を防ぎます。 - "allow": ログイン済みのユーザーがアカウントでRunをトラックすることができますが、W&Bアカウントを持っていない人がスクリプトを実行してもUIでチャートとデータを表示できます。 - "must": ユーザーがログインしていても、Runが匿名のアカウントにログされることを強制します。
reinit 同一プロセス内で複数のwandb.init()呼び出しが新規のRunを開始できるかどうかを決定します。デフォルト(False)では、アクティブなRunが存在する場合、wandb.init()を呼び出すと新しいRunを作成せずに既存のRunを返します。reinit=Trueの場合、アクティブなRunは新しいRunが初期化される前に終了されます。ノートブック環境では、reinitFalseに設定されていない限り、Runはデフォルトで再初期化されます。
resume 指定されたidを使用してRunの再開時の動作を制御します。利用可能なオプションは次のとおりです: - "allow": 指定されたidのRunが存在する場合、最後のステップから再開し、そうでない場合は新しいRunが作成されます。 - "never": 指定されたidのRunが存在する場合、エラーが発生します。存在しない場合、新しいRunが作成されます。 - "must": 指定されたidのRunが存在する場合、最後のステップから再開します。存在しない場合、エラーが発生します。 - "auto": このマシンでクラッシュした以前のRunを自動的に再開し、存在しない場合は新しいRunを開始します。 - True: 廃止予定です。代わりに"auto"を使用してください。 - False: 廃止予定です。デフォルトの動作(resumeを未設定のままにする)を使用して常に新しいRunを開始します。注意: resumeが設定されている場合、fork_fromおよびresume_fromは使用できません。resumeが未設定の場合、システムは常に新しいRunを開始します。詳細はRunの再開に関するガイドをご覧ください。
resume_from 前のRunのある時点からRunを再開するための形式{run_id}?_step={step}で指定します。これにより、中間ステップでRunにログされた履歴を切り詰め、そのステップからログを再開することができます。ターゲットRunは同じプロジェクト内になければなりません。id引数も提供された場合、resume_from引数が優先されます。resumeresume_fromfork_fromは一緒に使用できません。それらのいずれかのみを使用できます。注意: この機能はベータ版であり、将来的に変更される可能性があります。
fork_from 前のRunのある時点から新しいRunをフォークするための形式{id}?_step={step}で指定します。これは、ターゲットRunの履歴で指定されたステップからログを再開する新しいRunを作成します。ターゲットRunは現在のプロジェクトの一部でなければなりません。id引数も提供された場合、それはfork_from引数と異なる必要があり、それらが同じ場合はエラーが発生します。resumeresume_fromfork_fromは一緒に使用できません。それらのいずれかのみを使用できます。注意: この機能はベータ版であり、将来的に変更される可能性があります。
save_code 実験の再現性を援助し、UIでRun間のコード比較を可能にするために、メインスクリプトまたはノートブックをW&Bに保存できるようにします。デフォルトでは無効ですが、設定ページでデフォルトを有効にすることができます。
tensorboard 廃止予定です。代わりにsync_tensorboardを使用してください。
sync_tensorboard W&BログをTensorBoardやTensorBoardXから自動的に同期し、W&B UIで見るために関連するイベントファイルを保存します。関連するイベントファイルを保存します。(デフォルト: False
monitor_gym OpenAI Gymを使用する際に環境のビデオを自動的にログします。詳細はGymインテグレーションに関するガイドをご覧ください。
settings Runの詳細な設定を持つ辞書またはwandb.Settingsオブジェクトを指定します。
戻り値
現在のRunのハンドルであるRunオブジェクト。このオブジェクトを使用して、データをログしたり、ファイルを保存したり、Runを終了するなどの操作を行うことができます。Run APIの詳細をご覧ください。
例外
Error Runの初期化中に不明または内部エラーが発生した場合。
AuthenticationError ユーザーが有効な資格情報を提供できなかった場合。
CommError W&Bサーバーとの通信に問題があった場合。
UsageError ユーザーが関数に無効な引数を提供した場合。
KeyboardInterrupt ユーザーがRunの初期化プロセスを中断した場合。

2 - launch-library

クラス

class LaunchAgent: 指定されたrunキューをポーリングし、wandb Launch のためにrunを起動するLaunch エージェントクラス。

関数

launch(...): W&B ローンンチ 実験を開始します。

launch_add(...): W&B ローンンチ 実験をキューに追加します。source uri、jobまたはdocker_imageのいずれかを使用します。

2.1 - launch_add

W&B ローンチ実験をキューに追加します。ソース URI、ジョブ、または docker_image のいずれかを使用します。

launch_add(
    uri: Optional[str] = None,
    job: Optional[str] = None,
    config: Optional[Dict[str, Any]] = None,
    template_variables: Optional[Dict[str, Union[float, int, str]]] = None,
    project: Optional[str] = None,
    entity: Optional[str] = None,
    queue_name: Optional[str] = None,
    resource: Optional[str] = None,
    entry_point: Optional[List[str]] = None,
    name: Optional[str] = None,
    version: Optional[str] = None,
    docker_image: Optional[str] = None,
    project_queue: Optional[str] = None,
    resource_args: Optional[Dict[str, Any]] = None,
    run_id: Optional[str] = None,
    build: Optional[bool] = (False),
    repository: Optional[str] = None,
    sweep_id: Optional[str] = None,
    author: Optional[str] = None,
    priority: Optional[int] = None
) -> "public.QueuedRun"
引数
uri 実行する実験の URI。wandb の run URI や Git リポジトリ URI。
job wandb.Job への文字列参照。例: wandb/test/my-job:latest
config run の設定を含む辞書。「resource_args」キーの下に、リソース特有の引数も含めることができます。
template_variables キューのテンプレート変数の値を含む辞書。{"VAR_NAME": VAR_VALUE} の形式を期待します。
project 起動する run を送信する対象のプロジェクト
entity 起動する run を送信する対象のエンティティ
queue run をキューに追加するためのキューの名前
priority ジョブの優先度レベルで、1 が最高の優先度
resource run の実行バックエンド: W&B は「local-container」バックエンドを標準サポート
entry_point プロジェクト内で実行するエントリーポイント。デフォルトでは、wandb URI の場合はオリジナルの run で使用されたエントリーポイントを、Git リポジトリ URI の場合は main.py を使用します。
name run を起動する際の名前。
version Git ベースのプロジェクトの場合、コミットハッシュまたはブランチ名。
docker_image run に使用する Docker イメージの名前。
resource_args リモートバックエンドに run を起動するためのリソース関連の引数。構築されたローンチ設定の resource_args に保存されます。
run_id 起動された run の ID を示すオプションの文字列
build デフォルトで false のオプションフラグ。queue がセットされている場合に必要です。イメージを作成し、ジョブアーティファクトを作成し、そのジョブアーティファクトへの参照をキューにプッシュします。
repository 画像をレジストリにプッシュする際に使用するリモートリポジトリの名前を制御するオプションの文字列
project_queue キュー用のプロジェクト名を制御するためのオプションの文字列。主にプロジェクトにスコープされたキューとの後方互換性のために使用されます。

例:

from wandb.sdk.launch import launch_add

project_uri = "https://github.com/wandb/examples"
params = {"alpha": 0.5, "l1_ratio": 0.01}
# W&B プロジェクトを実行し、ローカルホスト上で再現可能な Docker 環境を作成
api = wandb.apis.internal.Api()
launch_add(uri=project_uri, parameters=params)
戻り値
wandb.api.public.QueuedRun のインスタンスで、キューに追加された run に関する情報を提供します。また、wait_until_started または wait_until_finished が呼び出された場合、基礎となる Run 情報にアクセスできます。
例外
wandb.exceptions.LaunchError が失敗時に発生します

2.2 - LaunchAgent

Launch エージェントクラスは、指定されたランキューをポーリングし、wandb Launch のために runs をローンチします。

LaunchAgent(
    api: Api,
    config: Dict[str, Any]
)
引数
api バックエンドへのリクエストを行うために使用する Api オブジェクト。
config エージェントの設定辞書。
属性
num_running_jobs スケジューラを除くジョブの数を返します。
num_running_schedulers スケジューラの数だけを返します。
thread_ids エージェントに対してスレッド ID を実行しているキーのリストを返します。

メソッド

check_sweep_state

ソースを表示

check_sweep_state(
    launch_spec, api
)

sweep のために run をローンチする前に sweep の状態を確認します。

fail_run_queue_item

ソースを表示

fail_run_queue_item(
    run_queue_item_id, message, phase, files=None
)

finish_thread_id

ソースを表示

finish_thread_id(
    thread_id, exception=None
)

しばらくの間、ジョブをリストから削除します。

get_job_and_queue

ソースを表示

get_job_and_queue()

initialized

ソースを表示

@classmethod
initialized() -> bool

エージェントが初期化されているかを返します。

loop

ソースを表示

loop()

ジョブをポーリングしてそれを実行するために無限ループします。

例外
KeyboardInterrupt エージェントが停止を要求された場合。

name

ソースを表示

@classmethod
name() -> str

エージェントの名前を返します。

pop_from_queue

ソースを表示

pop_from_queue(
    queue
)

ジョブとして実行するために run キューからアイテムを取り出します。

引数
queue 取り出すためのキュー。
戻り値
キューから取り出されたアイテム。
例外
Exception キューからの取り出しにエラーがある場合。

ソースを表示

print_status() -> None

エージェントの現在のステータスを表示します。

run_job

ソースを表示

run_job(
    job, queue, file_saver
)

プロジェクトをセットアップし、ジョブを実行します。

引数
job 実行するジョブ。

task_run_job

ソースを表示

task_run_job(
    launch_spec, job, default_config, api, job_tracker
)

update_status

ソースを表示

update_status(
    status
)

エージェントのステータスを更新します。

引数
status エージェントを更新するステータス。

2.3 - ローンチ

W&B ローンンチ実験をローンンチする。

launch(
    api: Api,
    job: Optional[str] = None,
    entry_point: Optional[List[str]] = None,
    version: Optional[str] = None,
    name: Optional[str] = None,
    resource: Optional[str] = None,
    resource_args: Optional[Dict[str, Any]] = None,
    project: Optional[str] = None,
    entity: Optional[str] = None,
    docker_image: Optional[str] = None,
    config: Optional[Dict[str, Any]] = None,
    synchronous: Optional[bool] = (True),
    run_id: Optional[str] = None,
    repository: Optional[str] = None
) -> AbstractRun
引数
job wandb.Job への文字列参照 例: wandb/test/my-job:latest
api wandb.apis.internal からの wandb Api のインスタンス。
entry_point プロジェクト内で run するエントリーポイント。デフォルトは wandb URI のオリジナル run で使用されたエントリーポイント、または git リポジトリ URI の場合は main.py を使用します。
version Git ベースのプロジェクトのためのコミットハッシュまたはブランチ名。
name ローンンチする run の名前。
resource run の実行バックエンド。
resource_args リモートバックエンドに run をローンンチするためのリソース関連の引数。resource_args 内のコンストラクトされたローンンチ設定に保存されます。
project ローンンチされた run を送信する対象プロジェクト
entity ローンンチされた run を送信する対象エンティティ
config run のための設定を含む辞書。リソース固有の引数を “resource_args” キーの下に含めることもできます。
synchronous run の完了を待つ間ブロックするかどうか。デフォルトは True です。注意: synchronous が False で backend が “local-container” の場合、このメソッドは返されますが、現在のプロセスはローカル run が完了するまで終了時にブロックします。現在のプロセスが中断された場合、このメソッドを通じてローンンチされた非同期 run は終了されます。synchronous が True で run が失敗した場合、現在のプロセスもエラーになります。
run_id run の ID (最終的に :name: フィールドを置き換えます)
repository リモートレジストリのリポジトリパスの文字列名

例:

from wandb.sdk.launch import launch

job = "wandb/jobs/Hello World:latest"
params = {"epochs": 5}
# W&B プロジェクトを実行し、再現可能な Docker 環境を作成
# ローカルホストで
api = wandb.apis.internal.Api()
launch(api, job, parameters=params)
戻り値
wandb.launch.SubmittedRun のインスタンスで、ローンンチされた run に関する情報(例: run ID)を公開します。
例外
wandb.exceptions.ExecutionError ブロックモードでローンンチされた run が不成功の場合。

3 - run

wandbによってログに記録される計算の単位。通常、これは機械学習実験です。

Run(
    settings: Settings,
    config: (dict[str, Any] | None) = None,
    sweep_config: (dict[str, Any] | None) = None,
    launch_config: (dict[str, Any] | None) = None
) -> None

wandb.init()を使用してrunを作成します:

import wandb

run = wandb.init()

どのプロセスにも最大で1つだけアクティブなwandb.Runがあり、wandb.runとしてアクセス可能です:

import wandb

assert wandb.run is None

wandb.init()

assert wandb.run is not None

wandb.logでログに記録したものはすべてそのrunに送信されます。

同じスクリプトまたはノートブックで複数のrunを開始したい場合は、進行中のrunを終了する必要があります。Runはwandb.finishで終了するか、withブロック内で使用することで終了できます:

import wandb

wandb.init()
wandb.finish()

assert wandb.run is None

with wandb.init() as run:
    pass  # データをここでログに記録

assert wandb.run is None

wandb.initでrunを作成する方法についてはドキュメントを参照するか、 こちらのガイドをご覧ください。

分散トレーニングでは、ランク0のプロセスで単一のrunを作成してそのプロセスからのみ情報をログするか、各プロセスでrunを作成してそれぞれからログを取り、wandb.initgroup引数で結果をグループ化することができます。W&Bを使用した分散トレーニングの詳細については、 こちらのガイドをご覧ください。

現在、wandb.Apiには並行するRunオブジェクトがあります。最終的にこれら2つのオブジェクトは統合される予定です。

属性
summary (Summary) 各wandb.log()キーに設定された単一の値。デフォルトでは、summaryは最後にログした値に設定されます。summaryを手動で最高の値(例: 最大精度)に設定することもできます。
config このrunに関連付けられたConfigオブジェクト。
dir runに関連するファイルが保存されるディレクトリ。
entity runに関連するW&Bエンティティの名前。エンティティはユーザー名、チーム名、または組織名です。
group runに関連するグループ名。グループを設定すると、W&B UIがrunを整理しやすくなります。分散トレーニングをしている場合、トレーニング内のすべてのrunに同じグループを与える必要があります。クロスバリデーションをしている場合、すべてのクロスバリデーションフォールドに同じグループを与える必要があります。
id このrunの識別子。
mode 0.9.xおよびそれ以前との互換性のためのもので、最終的には非推奨になります。
name runの表示名。表示名は一意であることを保証されず、説明的である可能性があります。デフォルトでは、ランダムに生成されます。
notes runに関連付けられたノートがあれば表示されます。ノートは複数行の文字列で、マークダウンやlatex方程式を$$の中で使用できます(例: $x + 3$)。
path runへのパス。Runパスには、entity/project/run_idの形式でエンティティ、プロジェクト、およびrun IDが含まれます。
project runに関連するW&Bプロジェクトの名前。
resumed runが再開された場合はTrue、それ以外はFalse。
settings runの設定オブジェクトの凍結コピー。
start_time runが開始されたUnixタイムスタンプ(秒)。
starting_step runの最初のステップ。
step 現在のステップの値。このカウンターはwandb.logによってインクリメントされます。
sweep_id ある場合はrunに関連するsweepのID。
tags runに関連するタグがあれば表示されます。
url runに関連するW&Bのurl。

メソッド

alert

ソースを見る

alert(
    title: str,
    text: str,
    level: (str | AlertLevel | None) = None,
    wait_duration: (int | float | timedelta | None) = None
) -> None

指定されたタイトルとテキストでアラートを開始します。

引数
title (str) アラートのタイトル。64文字未満である必要があります。
text (str) アラートの本文。
level (strまたはAlertLevel、オプショナル) 使用するアラートレベル。INFOWARN、またはERRORのいずれかです。
wait_duration (int, float, またはtimedelta、オプショナル) このタイトルで別のアラートを送信する前に待つ時間(秒)。

define_metric

ソースを見る

define_metric(
    name: str,
    step_metric: (str | wandb_metric.Metric | None) = None,
    step_sync: (bool | None) = None,
    hidden: (bool | None) = None,
    summary: (str | None) = None,
    goal: (str | None) = None,
    overwrite: (bool | None) = None
) -> wandb_metric.Metric

wandb.log()で記録されたメトリクスをカスタマイズします。

引数
name カスタマイズするメトリクスの名前。
step_metric このメトリクスのX軸として機能する他のメトリクスの名前。
step_sync 明示的に提供されない場合、最後のstep_metricの値をrun.log()に自動で挿入します。step_metricが指定されている場合、デフォルトはTrueです。
hidden このメトリクスを自動プロットから非表示にします。
summary summaryに追加される集計メトリクスを指定します。サポートされている集計には「min」、「max」、「mean」、「last」、「best」、「copy」、「none」が含まれます。「best」はgoalパラメータと共に使用します。「none」はsummaryの生成を防ぎます。「copy」は非推奨で使用しないでください。
goal “best” summaryタイプの解釈方法を指定します。サポートされているオプションは「minimize」と「maximize」です。
overwrite Falseの場合、同じメトリクスのために以前のdefine_metric呼び出しとこの呼び出しがマージされ、指定されていないパラメータには以前の呼び出しで指定された値が使用されます。Trueの場合、指定されていないパラメータは以前の呼び出しで指定された値を上書きします。
戻り値
この呼び出しを表すオブジェクトですが、他には捨てても問題ありません。

detach

ソースを見る

detach() -> None

display

ソースを見る

display(
    height: int = 420,
    hidden: bool = (False)
) -> bool

このrunをjupyterで表示します。

finish

ソースを見る

finish(
    exit_code: (int | None) = None,
    quiet: (bool | None) = None
) -> None

runを終了し、残りのデータをアップロードします。

W&B runの完了をマークし、すべてのデータがサーバーに同期されていることを確認します。 runの最終状態は、その終了条件と同期状態によって決まります。

Runの状態:

  • Running: データをログしているおよび/またはハートビートを送信しているアクティブなrun。
  • Crashed: 予期せずハートビートの送信を停止したrun。
  • Finished: すべてのデータが同期されて正常に完了したrun(exit_code=0)。
  • Failed: エラーで完了したrun(exit_code!=0)。
引数
exit_code runの終了ステータスを示す整数。成功の場合は0、他の値はrunを失敗としてマークします。
quiet 廃止予定。wandb.Settings(quiet=...)を使用してログの冗長性を設定します。

finish_artifact

ソースを見る

finish_artifact(
    artifact_or_path: (Artifact | str),
    name: (str | None) = None,
    type: (str | None) = None,
    aliases: (list[str] | None) = None,
    distributed_id: (str | None) = None
) -> Artifact

非最終アーティファクトをrunの出力として終了します。

同じdistributed IDでの後続の「アップサート」は新しいバージョンになります。

引数
artifact_or_path (strまたはArtifact) このアーティファクトの内容へのパス、次の形式で可能: - /local/directory - /local/directory/file.txt - s3://bucket/path また、wandb.Artifactを呼び出すことによって作成されたArtifactオブジェクトを渡すこともできます。
name (str, オプション) アーティファクト名。entity/projectで接頭辞を付ける場合もあります。次の形式で有効な名前にできます: - name:version - name:alias - digest 指定されていない場合、デフォルトでパスのベース名に現在のidが追加されます。
type (str) ログを記録するアーティファクトのタイプ、例:datasetmodel
aliases (list, オプション) このアーティファクトに適用するエイリアス。デフォルトは["latest"]
distributed_id (文字列, オプション) すべての分散ジョブが共有する一意の文字列。Noneの場合、runのグループ名がデフォルトです。
戻り値
アーティファクトオブジェクト。

get_project_url

ソースを見る

get_project_url() -> (str | None)

runに関連付けられたW&BプロジェクトのURLを返します(存在する場合)。

オフラインrunはプロジェクトURLを持ちません。

get_sweep_url

ソースを見る

get_sweep_url() -> (str | None)

runに関連付けられたsweepのURLを返します(存在する場合)。

get_url

ソースを見る

get_url() -> (str | None)

W&B runのURLを返します(存在する場合)。

オフラインrunはURLを持ちません。

join

ソースを見る

join(
    exit_code: (int | None) = None
) -> None

finish()のための非推奨のエイリアス - 代わりにfinishを使用してください。

ソースを見る

link_artifact(
    artifact: Artifact,
    target_path: str,
    aliases: (list[str] | None) = None
) -> None

指定されたアートファクトをポートフォリオ(アーティストの昇格されたコレクション)にリンクします。

リンクされたアートファクトは、指定されたポートフォリオのUIに表示されます。

引数
artifact 公開またはローカルアートファクトで、リンクされるアーティファクト。
target_path str - 次の形式を取り得る: {portfolio}, {project}/{portfolio}, または {entity}/{project}/{portfolio}
aliases List[str] - このリンクアーティファクト内のポートフォリオでのみ適用されるオプショナルなエイリアス。 “latest"のエイリアスは、リンクされたアーティファクトの最新バージョンに常に適用されます。
戻り値
None

ソースを見る

link_model(
    path: StrPath,
    registered_model_name: str,
    name: (str | None) = None,
    aliases: (list[str] | None) = None
) -> None

モデルアーティファクトバージョンをログし、モデルレジストリで登録されたモデルにリンクします。

リンクされたモデルバージョンは、指定された登録モデルのUIに表示されます。

ステップ:

  • ’name’モデルアーティファクトがログされているか確認します。そうであれば、‘path’にあるファイルに一致するアーティファクトバージョンを使用するか新しいバージョンをログします。そうでなければ、‘path’の下のファイルを新しいモデルアーティファクト’type’の’type’としてログします。
  • ‘model-registry’プロジェクトに’registered_model_name’という名前の登録モデルが存在するか確認します。存在しない場合、‘registered_model_name’という名前の新しい登録モデルを作成します。
  • モデルアーティファクト’name’のバージョンを登録モデル’registered_model_name’にリンクします。
  • 新しくリンクされたモデルアーティファクトバージョンに’aliases’リストのエイリアスを添付します。
引数
path (str) モデルの内容へのパスは、次の形式で可能です: - /local/directory - /local/directory/file.txt - s3://bucket/path
registered_model_name (str) - モデルがリンクされる登録モデルの名前。登録モデルはモデルバージョンのコレクションであり、通常はチームの特定のMLタスクを表します。この登録モデルが属するエンティティはrunから派生します。
name (str, オプション) - ‘path’のファイルがログされるモデルアーティファクトの名前です。指定されていない場合、デフォルトでパスのベース名に現在のrun idが付加されます。
aliases (List[str], オプション) - このリンクされたアーティファクト内の登録モデルにのみ適用されるエイリアス。リンクされたアーティファクトの最新バージョンには常に"latest"のエイリアスが適用されます。

例:

run.link_model(
    path="/local/directory",
    registered_model_name="my_reg_model",
    name="my_model_artifact",
    aliases=["production"],
)

無効な使用法

run.link_model(
    path="/local/directory",
    registered_model_name="my_entity/my_project/my_reg_model",
    name="my_model_artifact",
    aliases=["production"],
)

run.link_model(
    path="/local/directory",
    registered_model_name="my_reg_model",
    name="my_entity/my_project/my_model_artifact",
    aliases=["production"],
)
発生する可能性のあるエラー
AssertionError registered_model_nameがパスであるか、モデルアーティファクト名が「model」の部分文字列を持っていない場合
ValueError nameに無効な特殊文字が含まれている場合
戻り値
None

log

ソースを見る

log(
    data: dict[str, Any],
    step: (int | None) = None,
    commit: (bool | None) = None,
    sync: (bool | None) = None
) -> None

runデータをアップロードします。

logを使用してrunからデータ(例えば、スカラー、画像、ビデオ、ヒストグラム、プロット、テーブルなど)をログに記録します。

ログ記録ガイドを参照し、 ライブの例、コードスニペット、ベストプラクティスなどを確認してください。

最も基本的な使用法はrun.log({"train-loss": 0.5, "accuracy": 0.9})です。 これは、損失と精度をrunの履歴に保存し、これらのメトリクスのsummaryの値を更新します。

ワークスペースでログしたデータをwandb.aiで可視化したり、自分でホストするW&Bアプリのインスタンスでローカルに可視化したり、データをエクスポートしてローカルで可視化、探索したり、例えば、Jupyter ノートブックで公開APIを使用して行うことができます。

ログした値はスカラーである必要はありません。任意のwandbオブジェクトのログがサポートされています。 例えば、run.log({"example": wandb.Image("myimage.jpg")})は、W&B UIにうまく表示される例の画像のログを記録します。 さまざまにサポートされているタイプについては、参照ドキュメントを参照するか、logging ガイドで、3D分子構造やセグメンテーションマスク、PR曲線、ヒストグラムの例を確認してください。 wandb.Tableを使用して構造化データをログできます。詳細については、テーブルログのガイドをご覧ください。

W&B UIは、メトリクスを名前に含むスラッシュ(/)を含むセクションに整理し、名前の最後のスラッシュ前のテキストでセクション名を使用します。例えば、次の例では、「train」と「validate」という2つのセクションがあります:

run.log(
    {
        "train/accuracy": 0.9,
        "train/loss": 30,
        "validate/accuracy": 0.8,
        "validate/loss": 20,
    }
)

サポートされているネストのレベルは1つのみです。run.log({"a/b/c": 1})は「a/b」という名前のセクションを生成します。

run.logは1秒に数回以上呼び出す目的には使用されていません。 最適なパフォーマンスのために、N回のイテレーションごとに一度ログを記録するか、複数のイテレーションにわたってデータを収集し、単一のステップでログを記録することをお勧めします。

W&Bステップ

基本的な使用法では、logを呼び出すたびに新しい「ステップ」が作成されます。 ステップは常に増加する必要があり、過去のステップにログを記録することはできません。

多くの場合、W&Bステップをタイムスタンプと同様に扱う方がトレーニングステップとして扱うより良いです。

# 例: X軸として使用する "epoch" メトリクスをログする方法。
run.log({"epoch": 40, "train-loss": 0.5})

define_metricも参照してください。

stepおよびcommitパラメータを使用して、同じステップにログを記録するために複数のlog呼び出しを使用することができます。 以下はすべて同等です:

# 通常の使用法:
run.log({"train-loss": 0.5, "accuracy": 0.8})
run.log({"train-loss": 0.4, "accuracy": 0.9})

# 自動インクリメントなしの暗黙のステップ:
run.log({"train-loss": 0.5}, commit=False)
run.log({"accuracy": 0.8})
run.log({"train-loss": 0.4}, commit=False)
run.log({"accuracy": 0.9})

# 明示的なステップ:
run.log({"train-loss": 0.5}, step=current_step)
run.log({"accuracy": 0.8}, step=current_step)
current_step += 1
run.log({"train-loss": 0.4}, step=current_step)
run.log({"accuracy": 0.9}, step=current_step)
引数
data シリアル化可能なPythonオブジェクトを含むintfloat、およびstringwandb.data_typesのいずれか;シリアル化可能なPythonオブジェクトのリスト、タプルとNumPy配列。;この構造の他のdict
step ログするステップ番号。もしNoneの場合、暗黙の自動インクリメントステップが使用されます。詳細は説明の注意事項を参照してください。
commit 真実である場合、ステップが完了してアップロードされます。偽の場合、データはステップのために蓄積されます。詳細は説明の注意事項を参照してください。ステップがNoneの場合、デフォルトはcommit=Trueのままで、それ以外の場合にはデフォルトはcommit=Falseです。
sync この引数は廃止されており、何も行わない。

例:

詳細でより多くの例は、 このログ記録ガイドをご覧ください。

基本的な使用法

import wandb

run = wandb.init()
run.log({"accuracy": 0.9, "epoch": 5})

インクリメンタルログ

import wandb

run = wandb.init()
run.log({"loss": 0.2}, commit=False)
# 別の場所でこのステップを報告する準備ができたとき:
run.log({"accuracy": 0.8})

ヒストグラム

import numpy as np
import wandb

# グラデーションをランダムに正規分布からサンプリング
gradients = np.random.randn(100, 100)
run = wandb.init()
run.log({"gradients": wandb.Histogram(gradients)})

NumPyから画像

import numpy as np
import wandb

run = wandb.init()
examples = []
for i in range(3):
    pixels = np.random.randint(low=0, high=256, size=(100, 100, 3))
    image = wandb.Image(pixels, caption=f"random field {i}")
    examples.append(image)
run.log({"examples": examples})

PILから画像

import numpy as np
from PIL import Image as PILImage
import wandb

run = wandb.init()
examples = []
for i in range(3):
    pixels = np.random.randint(
        low=0,
        high=256,
        size=(100, 100, 3),
        dtype=np.uint8,
    )
    pil_image = PILImage.fromarray(pixels, mode="RGB")
    image = wandb.Image(pil_image, caption=f"random field {i}")
    examples.append(image)
run.log({"examples": examples})

NumPyからビデオ

import numpy as np
import wandb

run = wandb.init()
# 軸 (time, channel, height, width)
frames = np.random.randint(
    low=0,
    high=256,
    size=(10, 3, 100, 100),
    dtype=np.uint8,
)
run.log({"video": wandb.Video(frames, fps=4)})

Matplotlibプロット

from matplotlib import pyplot as plt
import numpy as np
import wandb

run = wandb.init()
fig, ax = plt.subplots()
x = np.linspace(0, 10)
y = x * x
ax.plot(x, y)  # プロットy = x^2
run.log({"chart": fig})

PR曲線

import wandb

run = wandb.init()
run.log({"pr": wandb.plot.pr_curve(y_test, y_probas, labels)})

3Dオブジェクト

import wandb

run = wandb.init()
run.log(
    {
        "generated_samples": [
            wandb.Object3D(open("sample.obj")),
            wandb.Object3D(open("sample.gltf")),
            wandb.Object3D(open("sample.glb")),
        ]
    }
)
発生する可能性のあるエラー
wandb.Error wandb.initを呼び出す前に呼び出された場合
ValueError 無効なデータが渡された場合

log_artifact

ソースを見る

log_artifact(
    artifact_or_path: (Artifact | StrPath),
    name: (str | None) = None,
    type: (str | None) = None,
    aliases: (list[str] | None) = None,
    tags: (list[str] | None) = None
) -> Artifact

アーティファクトをrunの出力として宣言します。

引数
artifact_or_path (strまたはArtifact) このアーティファクトの内容へのパス、次の形式で可能: - /local/directory - /local/directory/file.txt - s3://bucket/path また、wandb.Artifactを呼び出すことによって作成されたArtifactオブジェクトを渡すこともできます。
name (str, オプション) アーティファクト名。次の形式で有効な名前にすることができます: - name:version - name:alias - digest 指定されていない場合、デフォルトでパスのベース名に現在のrun idが追加されます。
type (str) ログを記録するアーティファクトのタイプ、例:datasetmodel
aliases (list, オプション) このアーティファクトに適用するエイリアス。デフォルトは["latest"]
tags (list, オプション) このアーティファクトに適用するタグ。もし存在すれば。
戻り値
アーティファクトオブジェクト。

log_code

ソースを見る

log_code(
    root: (str | None) = ".",
    name: (str | None) = None,
    include_fn: (Callable[[str, str], bool] | Callable[[str], bool]) = _is_py_requirements_or_dockerfile,
    exclude_fn: (Callable[[str, str], bool] | Callable[[str], bool]) = filenames.exclude_wandb_fn
) -> (Artifact | None)

コードの現状をW&Bアーティファクトとして保存します。

デフォルトでは、現在のディレクトリを探索し、.pyで終わるすべてのファイルをログに記録します。

引数
root os.getcwd()に対して相対的、または絶対パスで、コードを再帰的に見つけるためのルート。
name (str, オプション) 私たちのコードアーティファクトの名前。デフォルトでは、アーティファクトはsource-$PROJECT_ID-$ENTRYPOINT_RELPATHと名付けられます。シナリオによっては、複数のrunが同じアーティファクトを共有したい場合があります。nameを指定することでそれを達成できます。
include_fn ファイルパスと(オプションで)ルートパスを引数とし、含めるべき場合はTrueを返して、そうでない場合はFalseを返すcallable。デフォルトは:lambda path, root: path.endswith(".py")
exclude_fn ファイルパスと(オプションで)ルートパスを引数とし、除外するべき場合はTrueを返して、そうでない場合はFalseを返すcallable。このデフォルトは、<root>/.wandb/および<root>/wandb/ディレクトリ内のすべてのファイルを除外する関数です。

例:

基本的な使用法

run.log_code()

高度な使用法

run.log_code(
    "../",
    include_fn=lambda path: path.endswith(".py") or path.endswith(".ipynb"),
    exclude_fn=lambda path, root: os.path.relpath(path, root).startswith(
        "cache/"
    ),
)
戻り値
コードがログされた場合のアーティファクトオブジェクト

log_model

ソースを見る

log_model(
    path: StrPath,
    name: (str | None) = None,
    aliases: (list[str] | None) = None
) -> None

‘path’内の内容をrunに含むモデルアーティファクトをログに記録し、runの出力としてマークします。

引数
path (str) モデルの内容へのパスは、次の形式で可能です: - /local/directory - /local/directory/file.txt - s3://bucket/path
name (str, オプション) ファイル内容が追加されるモデルアーティファクトに割り当てられる名前。文字列には、次のアルファベットと数字の文字のみ含めることができます:ダッシュ、アンダースコア、およびドット。指定されていない場合、デフォルトでパスのベース名に現在のrun idが追加されます。
aliases (list, オプション) 作成されたモデルアーティファクトに適用するエイリアスのデフォルトは「latest」です。

例:

run.log_model(
    path="/local/directory",
    name="my_model_artifact",
    aliases=["production"],
)

無効な使用法

run.log_model(
    path="/local/directory",
    name="my_entity/my_project/my_model_artifact",
    aliases=["production"],
)
発生する可能性のあるエラー
ValueError nameに無効な特殊文字が含まれている場合
戻り値
None

mark_preempting

ソースを見る

mark_preempting() -> None

このrunを中断しているとマークします。

また、内部プロセスに即座にサーバーに報告するよう指示します。

project_name

ソースを見る

project_name() -> str

restore

ソースを見る

restore(
    name: str,
    run_path: (str | None) = None,
    replace: bool = (False),
    root: (str | None) = None
) -> (None | TextIO)

クラウドストレージから指定されたファイルをダウンロードします。

ファイルは現在のディレクトリまたはrunディレクトリに配置されます。 デフォルトでは、ローカルにまだ存在しない場合にのみファイルをダウンロードします。

引数
name ファイルの名前
run_path ファイルをプルするrunへのオプションのパス、例:username/project_name/run_id。wandb.initが呼び出されていない場合、これは必須です。
replace ファイルがローカルに既に存在する場合でもダウンロードするかどうか
root ファイルをダウンロードするディレクトリ。デフォルトは現在のディレクトリまたはwandb.initが呼び出された場合のrunディレクトリ。
戻り値
ファイルが見つからない場合はNone、見つかった場合は読み取り用に開かれたファイルオブジェクト。
発生する可能性のあるエラー
wandb.CommError wandbバックエンドに接続できない場合
ValueError ファイルが見つからない場合、またはrun_pathが見つからない場合

save

ソースを見る

save(
    glob_str: (str | os.PathLike | None) = None,
    base_path: (str | os.PathLike | None) = None,
    policy: PolicyName = "live"
) -> (bool | list[str])

1つ以上のファイルをW&Bに同期させます。

相対的なパスは現在の作業ディレクトリに相対的です。

saveが呼び出された時点でUnix glob(例えば「myfiles/*」)が展開され、policyに関係なく新しいファイルは自動的にピックアップされることはありません。

saveを呼び出した時点でUnix glob(例えば"myfiles/*")は、policyに関係なく展開されます。特に、新しいファイルは自動的に取得されません。

アップロードされるファイルのディレクトリ構造を制御するためにbase_pathを指定できます。これはglob_strの接頭辞であり、その下のディレクトリ構造は保持されます。例を通じて最適に理解できます:

wandb.save("these/are/myfiles/*")
# => run内の"these/are/myfiles/"フォルダにファイルを保存します。

wandb.save("these/are/myfiles/*", base_path="these")
# => run内の"are/myfiles/"フォルダにファイルを保存します。

wandb.save("/User/username/Documents/run123/*.txt")
# => run内の"run123/"フォルダにファイルを保存します。以下の注意を参照してください。

wandb.save("/User/username/Documents/run123/*.txt", base_path="/User")
# => run内の"username/Documents/run123/"フォルダにファイルを保存します。

wandb.save("files/*/saveme.txt")
# => 各 "saveme.txt" ファイルを "files/" の適切なサブディレクトリに保存します。

注意:絶対パスまたはglobが指定されbase_pathがない場合は、上記の例のように1つのディレクトリレベルが保持されます。

引数
glob_str 相対または絶対のパスまたはUnix glob。
base_path ディレクトリ構造を推定するためのパス;例を参照。
policy livenow、またはendのいずれか。 * live: ファイルを変更すると新しいバージョンで上書きしてアップロードします。 * now: 現在アップロードされているファイルを一度だけアップロードします。 * end: runが終了したときにファイルをアップロードします。
戻り値
発生した場合、ファイルのリンクシステムとして作成されたパス。歴史的な理由から、これが古いコードでブール値を返す場合もあります。

status

ソースを見る

status() -> RunStatus

内部バックエンドからの現在のrunの同期状態についての情報を取得します。

to_html

ソースを見る

to_html(
    height: int = 420,
    hidden: bool = (False)
) -> str

現在のrunを表示するiframeを含むHTMLを生成します。

unwatch

ソースを見る

unwatch(
    models: (torch.nn.Module | Sequence[torch.nn.Module] | None) = None
) -> None

PyTorchモデルのトポロジー、勾配、およびパラメータフックを削除します。

引数
models (torch.nn.Module Sequence[torch.nn.Module]): 呼び出し済みのwatchがあり、そのリストであるオプションのPyTorchモデル。

upsert_artifact

ソースを見る

upsert_artifact(
    artifact_or_path: (Artifact | str),
    name: (str | None) = None,
    type: (str | None) = None,
    aliases: (list[str] | None) = None,
    distributed_id: (str | None) = None
) -> Artifact

runの出力として、非最終化されたアーティファクトを宣言する(または追加)します。

注意:アーティファクトを最終化するためには、 run.finish_artifact()を呼び出す必要があります。 これは分散ジョブが同じアーティファクトにすべて貢献する必要がある場合に役立ちます。

引数
artifact_or_path (strまたはArtifact) このアーティファクトの内容へのパス、次の形式で可能: - /local/directory - /local/directory/file.txt - s3://bucket/path また、wandb.Artifactを呼び出すことによって作成されたArtifactオブジェクトを渡すこともできます。
name (str, オプション) アーティファクト名。entity/projectで接頭辞を付ける場合もあります。次の形式で有効な名前にできます: - name:version - name:alias - digest 指定されていない場合、デフォルトでパスのベース名に現在のrun idが追加されます。
type (str) ログを記録するアーティファクトのタイプ、例:datasetmodel
aliases (list, オプション) このアーティファクトに適用するエイリアス。デフォルトは["latest"]
distributed_id (文字列, オプション) すべての分散ジョブが共有する一意の文字列。Noneの場合、runのグループ名がデフォルトです。
戻り値
アーティファクトオブジェクト。

use_artifact

ソースを見る

use_artifact(
    artifact_or_name: (str | Artifact),
    type: (str | None) = None,
    aliases: (list[str] | None) = None,
    use_as: (str | None) = None
) -> Artifact

runの入力としてアーティファクトを宣言します。

返されたオブジェクトでdownloadまたはfileを呼び出して、コンテンツをローカルに取得します。

引数
artifact_or_name (strまたはArtifact) アーティファクト名。project/またはentity/project/で接頭辞を付ける場合もあります。名前にentityが指定されていない場合、RunまたはAPIのエンティティ設定が使用されます。次の形式で有効な名前にできます: - name:version - name:alias または、wandb.Artifactの呼び出しで作成されたArtifactオブジェクトを渡すこともできます。
type (str, オプション) 使用するアーティファクトのタイプ。
aliases (list, オプション) このアーティファクトに適用するエイリアス。
use_as (文字列, オプション) オプショナル文字列で、そのアーティファクトがどんな目的で使用されたかを示します。UIで表示されます。
戻り値
アーティファクトオブジェクト。

use_model

ソースを見る

use_model(
    name: str
) -> FilePathStr

モデルアーティファクト’name’にログされたファイルをダウンロードします。

引数
name (str) モデルアーティファクト名。’name’は既存のログされたモデルアーティファクトの名前と一致する必要があります。entity/project/で接頭辞を付ける場合もあります。次の形式で有効な名前にできます: - model_artifact_name:version - model_artifact_name:alias

例:

run.use_model(
    name="my_model_artifact:latest",
)

run.use_model(
    name="my_project/my_model_artifact:v0",
)

run.use_model(
    name="my_entity/my_project/my_model_artifact:<digest>",
)

無効な使用法

run.use_model(
    name="my_entity/my_project/my_model_artifact",
)
発生する可能性のあるエラー
AssertionError モデルアーティファクト’name’が「model」の部分文字列を含むタイプではない場合。
戻り値
path (str) ダウンロードされたモデルアーティファクトファイルのパス。

watch

ソースを見る

watch(
    models: (torch.nn.Module | Sequence[torch.nn.Module]),
    criterion: (torch.F | None) = None,
    log: (Literal['gradients', 'parameters', 'all'] | None) = "gradients",
    log_freq: int = 1000,
    idx: (int | None) = None,
    log_graph: bool = (False)
) -> None

与えられたPyTorchのモデルにフックを設定して、勾配とモデルの計算グラフを監視します。

この関数は、トレーニング中にパラメータ、勾配、または両方を追跡することができます。 将来的には任意の機械学習モデルに対応するよう拡張されるべきです。

引数
models (Union[torch.nn.Module, Sequence[torch.nn.Module]]): モニタリングされるモデルまたはモデルのシーケンス。 criterion (Optional[torch.F]): 最適化される損失関数 (オプション)。 log (Optional[Literal[“gradients”, “parameters”, “all”]]): “gradients”、“parameters”、または"all” をどれをログするか指定します。ログを無効にするにはNoneを設定します (デフォルトは"gradients")。 log_freq (int): 勾配とパラメータをログする頻度 (バッチ単位)。 (デフォルトは1000)。 idx (Optional[int]): wandb.watchを使用して複数のモデルを追跡する時に使用されるインデックス (デフォルトはNone)。 log_graph (bool): モデルの計算グラフをログするかどうか。 (デフォルトはFalse)
発生する可能性のあるエラー
ValueError wandb.initが呼び出されていない場合や、モデルのいずれかがtorch.nn.Moduleのインスタンスでない場合。

__enter__

ソースを見る

__enter__() -> Run

__exit__

ソースを見る

__exit__(
    exc_type: type[BaseException],
    exc_val: BaseException,
    exc_tb: TracebackType
) -> bool

4 - sweep

ハイパーパラメーター探索を初期化します。

sweep(
    sweep: Union[dict, Callable],
    entity: Optional[str] = None,
    project: Optional[str] = None,
    prior_runs: Optional[List[str]] = None
) -> str

機械学習モデルのコスト関数を最適化するハイパーパラメーターを見つけるために、さまざまな組み合わせをテストします。

返されるユニークな識別子 sweep_id をメモしてください。後のステップで sweep_id を sweep agent に提供します。

引数
sweep ハイパーパラメーター探索の設定です。(または設定ジェネレーター)。sweep を定義する方法については、Sweep configuration structure を参照してください。コール可能なオブジェクトを提供する場合、引数を取らないことを確認し、W&B sweep config仕様に準拠した辞書を返すようにしてください。
entity スイープによって作成された W&B run を送信したいユーザー名またはチーム名です。指定した entity が既に存在することを確認してください。もし entity を指定しない場合、run は通常、ユーザー名であるデフォルトの entity に送信されます。
project スイープから作成された W&B run が送信されるプロジェクトの名前です。プロジェクトが指定されない場合、run は「Uncategorized」とラベル付けされたプロジェクトに送信されます。
prior_runs このスイープに追加する既存の run の ID です。
戻り値
sweep_id str. スイープのためのユニークな識別子です。

5 - wandb_ワークスペース

クラス

class reports: W&B レポート API をプログラムで操作するための Python ライブラリ。

class workspaces: W&B ワークスペース API をプログラムで操作するための Python ライブラリ。

5.1 - ワークスペース

module wandb_workspaces.workspaces

プログラムで W&B Workspace API を操作するための Python ライブラリ。

# インポート方法
import wandb_workspaces.workspaces as ws

# ワークスペースを作成する例
ws.Workspace(
     name="Example W&B Workspace",
     entity="entity", # ワークスペースを所有する entity
     project="project", # ワークスペースが関連付けられている project
     sections=[
         ws.Section(
             name="Validation Metrics",
             panels=[
                 wr.LinePlot(x="Step", y=["val_loss"]),
                 wr.BarPlot(metrics=["val_accuracy"]),
                 wr.ScalarChart(metric="f1_score", groupby_aggfunc="mean"),
             ],
             is_open=True,
         ),
     ],
)
workspace.save()

class RunSettings

runset (左側のバー)内の run の設定。

属性:

  • color (str): UI での run の色。hex (#ff0000), css color (red), または rgb (rgb(255, 0, 0)) を指定できる。
  • disabled (bool): run が非アクティブであるかどうか(UI で目が閉じている)。デフォルトは False に設定されている。

class RunsetSettings

ワークスペース内の runset(run を含む左側のバー)の設定。

属性:

  • query (str): runset をフィルターするためのクエリ(regex 式である可能性あり、次のパラメータを参照)。
  • regex_query (bool): 上記のクエリが regex 式であるかどうかを制御する。デフォルトは False に設定されている。
  • filters (LList[expr.FilterExpr]): runset に適用するフィルターのリスト。フィルターは AND で結合される。フィルターの作成については FilterExpr を参照。
  • groupby (LList[expr.MetricType]): runset でグループ化するメトリクスのリスト。 Metric, Summary, Config, Tags, または KeysInfo に設定。
  • order (LList[expr.Ordering]): runset に適用するメトリクスと順序のリスト。
  • run_settings (Dict[str, RunSettings]): run の設定の辞書。キーは run の ID で、値は RunSettings オブジェクト。

class Section

ワークスペース内のセクションを表す。

属性:

  • name (str): セクションの名前またはタイトル。
  • panels (LList[PanelTypes]): セクション内のパネルの順序付きリスト。デフォルトでは、最初が左上で最後が右下。
  • is_open (bool): セクションが開いているか閉じているか。デフォルトは閉じている。
  • layout_settings (Literal[standard, custom]): セクション内のパネルレイアウトの設定。
  • panel_settings: セクション内のすべてのパネルに適用されるパネルレベルの設定。 WorkspaceSettingsSection に似ている。

class SectionLayoutSettings

セクションのパネルレイアウト設定。通常、W&B App Workspace UI のセクションの右上に表示される。

属性:

  • layout (Literal[standard, custom]): セクション内のパネルのレイアウト。 standard はデフォルトのグリッドレイアウトに従い、custom は個々のパネル設定で制御されるカスタムレイアウトを許可する。
  • columns (int): 標準レイアウトの場合、レイアウト内の列数。デフォルトは 3。
  • rows (int): 標準レイアウトの場合、レイアウト内の行数。デフォルトは 2。

class SectionPanelSettings

セクションのパネル設定。セクションの WorkspaceSettings に似ている。

ここで適用される設定は、より詳細なパネル設定で上書きされることがある。優先順位は: Section < Panel。

属性:

  • x_axis (str): X 軸メトリック名の設定。デフォルトでは Step に設定。
  • x_min Optional[float]: X 軸の最小値。
  • x_max Optional[float]: X 軸の最大値。
  • smoothing_type (Literal[’exponentialTimeWeighted’, ’exponential’, ‘gaussian’, ‘average’, ’none’]): すべてのパネルに適用されるスムージングタイプ。
  • smoothing_weight (int): すべてのパネルに適用されるスムージングウエイト。

class Workspace

W&B ワークスペースを表し、セクション、設定、run セットの構成を含む。

属性:

  • entity (str): このワークスペースが保存される entity(通常、ユーザーまたはチーム名)。
  • project (str): このワークスペースが保存されるプロジェクト。
  • name: ワークスペースの名前。
  • sections (LList[Section]): ワークスペース内のセクションの順序付きリスト。最初のセクションはワークスペースの上部にある。
  • settings (WorkspaceSettings): ワークスペースの設定。通常、UI のワークスペースの上部に表示される。
  • runset_settings (RunsetSettings): ワークスペース内の run セット(run を含む左側のバー)の設定。

property url

W&B アプリ内のワークスペースへの URL。


classmethod from_url

from_url(url: str)

URL からワークスペースを取得。


method save

save()

現在のワークスペースを W&B に保存。

戻り値:

  • Workspace: 保存された内部名と ID を持つ更新されたワークスペース。

method save_as_new_view

save_as_new_view()

現在のワークスペースを W&B に新しいビューとして保存。

戻り値:

  • Workspace: 保存された内部名と ID を持つ更新されたワークスペース。

class WorkspaceSettings

ワークスペースの設定。通常、UI のワークスペースの上部に表示される。

このオブジェクトには、x 軸、スムージング、外れ値、パネル、ツールチップ、run、パネルクエリバーの設定が含まれる。

ここで適用される設定は、より詳細なセクションおよびパネル設定で上書きされることがある。優先順位は: Workspace < Section < Panel。

属性:

  • x_axis (str): X 軸メトリック名の設定。
  • x_min (Optional[float]): X 軸の最小値。
  • x_max (Optional[float]): X 軸の最大値。
  • smoothing_type (Literal['exponentialTimeWeighted', 'exponential', 'gaussian', 'average', 'none']): すべてのパネルに適用されるスムージングタイプ。
  • smoothing_weight (int): すべてのパネルに適用されるスムージングウエイト。
  • ignore_outliers (bool): すべてのパネルで外れ値を無視する。
  • sort_panels_alphabetically (bool): すべてのセクションでパネルをアルファベット順にソート。
  • group_by_prefix (Literal[first, last]): 最初または最大最後までのプレフィックスでパネルをグループ化する(first または last)。デフォルトは last に設定。
  • remove_legends_from_panels (bool): すべてのパネルから凡例を削除。
  • tooltip_number_of_runs (Literal[default, all, none]): ツールチップに表示する run の数。
  • tooltip_color_run_names (bool): ツールチップで run 名を run セットに合わせて色付けするかどうか(True)あるいはしないか(False)。デフォルトは True に設定。
  • max_runs (int): パネルごとに表示される run の最大数(run セットの最初の 10 件の run になる)。
  • point_visualization_method (Literal[line, point, line_point]): 点の可視化メソッド。
  • panel_search_query (str): パネル検索バーのクエリ(正規表現式である可能性あり)。
  • auto_expand_panel_search_results (bool): パネル検索結果を自動拡張するかどうか。

5.2 - レポート

module wandb_workspaces.reports.v2

プログラムで W&B レポート API を操作するための Python ライブラリ。

import wandb_workspaces.reports.v2 as wr

report = wr.Report(
     entity="entity",
     project="project",
     title="An amazing title",
     description="A descriptive description.",
)

blocks = [
     wr.PanelGrid(
         panels=[
             wr.LinePlot(x="time", y="velocity"),
             wr.ScatterPlot(x="time", y="acceleration"),
         ]
     )
]

report.blocks = blocks
report.save()

class BarPlot

2Dバープロットを表示するパネルオブジェクト。

Attributes:

  • title (Optional[str]): プロットの上部に表示されるテキスト。
  • metrics (LList[MetricType]): orientation Literal[“v”, “h”]: バープロットの向き。垂直 (“v”) または水平 (“h”) を選択します。デフォルトは水平 (“h”)。
  • range_x (Tuple[float | None, float | None]): x軸の範囲を指定するタプル。
  • title_x (Optional[str]): x軸のラベル。
  • title_y (Optional[str]): y軸のラベル。
  • groupby (Optional[str]): W&Bプロジェクトにログされたメトリクスに基づいて run をグループ化します。このレポートは情報を取得します。
  • groupby_aggfunc (Optional[GroupAgg]): 指定された関数で run を集計します。オプションには mean, min, max, median, sum, samples, または None が含まれます。
  • groupby_rangefunc (Optional[GroupArea]): 範囲に基づいて run をグループ化します。オプションには minmax, stddev, stderr, none, samples, または None が含まれます。
  • max_runs_to_show (Optional[int]): プロットに表示する最大 run 数。
  • max_bars_to_show (Optional[int]): バープロットに表示する最大バー数。
  • custom_expressions (Optional[LList[str]]): バープロットで使用されるカスタム式のリスト。
  • legend_template (Optional[str]): 凡例のテンプレート。
  • font_size (Optional[FontSize]): ラインプロットのフォントサイズ。オプションには small, medium, large, auto, または None が含まれます。
  • line_titles (Optional[dict]): ラインのタイトル。キーがライン名で、値がタイトルです。
  • line_colors (Optional[dict]): ラインの色。キーがライン名で、値が色です。

class BlockQuote

引用されたテキストのブロック。

Attributes:

  • text (str): 引用ブロックのテキスト。

class CalloutBlock

強調されたテキストのブロック。

Attributes:

  • text (str): 強調テキスト。

class CheckedList

チェックボックス付きの項目リスト。CheckedListItemCheckedList 内に1つ以上追加します。

Attributes:

  • items (LList[CheckedListItem]): CheckedListItem オブジェクトのリスト。

class CheckedListItem

チェックボックス付きのリストアイテム。CheckedList 内に1つ以上の CheckedListItem を追加します。

Attributes:

  • text (str): リストアイテムのテキスト。
  • checked (bool): チェックボックスがチェックされているかどうか。デフォルトは False

class CodeBlock

コードのブロック。

Attributes:

  • code (str): ブロック内のコード。
  • language (Optional[Language]): コードの言語。指定された言語は構文強調表示に使われます。デフォルトは python。オプションには javascript, python, css, json, html, markdown, yaml が含まれます。

class CodeComparer

異なる2つの run 間のコードを比較するパネルオブジェクト。

Attributes:

  • diff (Literal[‘split’, ‘unified’]): コードの差異を表示する方法。オプションには splitunified が含まれます。

class Config

run の設定オブジェクトにログされたメトリクス。設定オブジェクトは通常、run.config[name] = ... を使用するか、キーと値のペアを持つ設定として渡されてログされます。ここでキーがメトリクスの名前、値がメトリクスの値です。

Attributes:

  • name (str): メトリクスの名前。

class CustomChart

カスタムチャートを表示するパネル。チャートは Weave クエリによって定義されます。

Attributes:

  • query (dict): カスタムチャートを定義するクエリ。キーがフィールドの名前で、値がクエリです。
  • chart_name (str): カスタムチャートのタイトル。
  • chart_fields (dict): プロットの軸を定義するキーと値のペア。ここでキーはラベル、値はメトリクスです。
  • chart_strings (dict): チャート内の文字列を定義するキーと値のペア。

classmethod from_table

from_table(
    table_name: str,
    chart_fields: dict = None,
    chart_strings: dict = None
)

テーブルからカスタムチャートを作成します。

Arguments:

  • table_name (str): テーブルの名前。
  • chart_fields (dict): チャートに表示するフィールド。
  • chart_strings (dict): チャートに表示する文字列。

レポートと URL のギャラリーをレンダリングするブロック。

Attributes:

  • items (List[Union[GalleryReport, GalleryURL]]): GalleryReportGalleryURL オブジェクトのリスト。

class GalleryReport

ギャラリー内のレポートへの参照。

Attributes:

  • report_id (str): レポートの ID。

class GalleryURL

外部リソースへの URL。

Attributes:

  • url (str): リソースの URL。
  • title (Optional[str]): リソースのタイトル。
  • description (Optional[str]): リソースの説明。
  • image_url (Optional[str]): 表示する画像の URL。

class GradientPoint

勾配内の点。

Attributes:

  • color: 点の色。
  • offset: 勾配内の点の位置。値は 0 から 100 の範囲であるべきです。

class H1

指定されたテキストを持つ H1 ヘッディング。

Attributes:

  • text (str): ヘッディングのテキスト。
  • collapsed_blocks (Optional[LList[“BlockTypes”]]): ヘッディングを折りたたんだときに表示されるブロック。

class H2

指定されたテキストを持つ H2 ヘッディング。

Attributes:

  • text (str): ヘッディングのテキスト。
  • collapsed_blocks (Optional[LList[“BlockTypes”]]): ヘッディングを折りたたんだときに表示される1つ以上のブロック。

class H3

指定されたテキストを持つ H3 ヘッディング。

Attributes:

  • text (str): ヘッディングのテキスト。
  • collapsed_blocks (Optional[LList[“BlockTypes”]]): ヘッディングを折りたたんだときに表示される1つ以上のブロック。

class Heading


class HorizontalRule

HTML の水平ライン。


class Image

画像をレンダリングするブロック。

Attributes:

  • url (str): 画像の URL。
  • caption (str): 画像のキャプション。キャプションは画像の下に表示されます。

class InlineCode

インラインコード。コードの後に改行文字を加えません。

Attributes:

  • text (str): レポートに表示したいコード。

class InlineLatex

インライン LaTeX マークダウン。LaTeX マークダウンの後に改行文字を加えません。

Attributes:

  • text (str): レポートに表示したい LaTeX マークダウン。

class LatexBlock

LaTeX テキストのブロック。

Attributes:

  • text (str): LaTeX テキスト。

class Layout

レポート内のパネルのレイアウト。パネルのサイズと位置を調整します。

Attributes:

  • x (int): パネルの x 位置。
  • y (int): パネルの y 位置。
  • w (int): パネルの幅。
  • h (int): パネルの高さ。

class LinePlot

2D ラインプロットを持つパネルオブジェクト。

Attributes:

  • title (Optional[str]): プロットの上部に表示されるテキスト。
  • x (Optional[MetricType]): W&B プロジェクトにログされたメトリクスの名前。このレポートは情報を取得します。指定されたメトリクスは x 軸に使用されます。
  • y (LList[MetricType]): W&B プロジェクトにログされた1つ以上のメトリクス。このレポートは情報を取得します。指定されたメトリクスは y 軸に使用されます。
  • range_x (Tuple[float | None, float | None]): x軸の範囲を指定するタプル。
  • range_y (Tuple[float | None, float | None]): y軸の範囲を指定するタプル。
  • log_x (Optional[bool]): x 座標を底 10 の対数スケールでプロットします。
  • log_y (Optional[bool]): y 座標を底 10 の対数スケールでプロットします。
  • title_x (Optional[str]): x軸のラベル。
  • title_y (Optional[str]): y軸のラベル。
  • ignore_outliers (Optional[bool]): True に設定すると、外れ値をプロットしません。
  • groupby (Optional[str]): W&B プロジェクトにログされたメトリクスに基づいて run をグループ化します。このレポートは情報を取得します。
  • groupby_aggfunc (Optional[GroupAgg]): 指定された関数で run を集計します。オプションには mean, min, max, median, sum, samples, または None が含まれます。
  • groupby_rangefunc (Optional[GroupArea]): 範囲に基づいて run をグループ化します。オプションには minmax, stddev, stderr, none, samples, または None が含まれます。
  • smoothing_factor (Optional[float]): 平滑化タイプに適用する平滑化係数。許容する値は 0 から 1 の範囲です。
  • smoothing_type (Optional[SmoothingType]): 指定された分布に基づいてフィルターを適用します。オプションには exponentialTimeWeighted, exponential, gaussian, average, または none が含まれます。
  • smoothing_show_original (Optional[bool]): True に設定すると、元のデータを表示します。
  • max_runs_to_show (Optional[int]): ラインプロットに表示する最大 run 数。
  • custom_expressions (Optional[LList[str]]): データに適用するカスタム式。
  • plot_type (Optional[LinePlotStyle]): 生成するラインプロットのタイプ。オプションには line, stacked-area, または pct-area が含まれます。
  • font_size (Optional[FontSize]): ラインプロットのフォントサイズ。オプションには small, medium, large, auto, または None が含まれます。
  • legend_position (Optional[LegendPosition]): 凡例を配置する場所。オプションには north, south, east, west, または None が含まれます。
  • legend_template (Optional[str]): 凡例のテンプレート。
  • aggregate (Optional[bool]): True に設定すると、データを集計します。
  • xaxis_expression (Optional[str]): x軸の表現。
  • legend_fields (Optional[LList[str]]): 凡例に含めるフィールド。

URL へのリンク。

Attributes:

  • text (Union[str, TextWithInlineComments]): リンクのテキスト。
  • url (str): リンクが指す URL。

class MarkdownBlock

マークダウンテキストのブロック。一般的なマークダウンサクジを使用してテキストを書くのに便利です。

Attributes:

  • text (str): マークダウンテキスト。

class MarkdownPanel

マークダウンをレンダリングするパネル。

Attributes:

  • markdown (str): マークダウンパネルに表示したいテキスト。

class MediaBrowser

メディアファイルをグリッドレイアウトで表示するパネル。

Attributes:

  • num_columns (Optional[int]): グリッドの列数。
  • media_keys (LList[str]): メディアファイルに対応するメディアキーのリスト。

class Metric

プロジェクトにログされたメトリクスをレポートに表示する。

Attributes:

  • name (str): メトリクスの名前。

class OrderBy

並び替えに使用するメトリクス。

Attributes:

  • name (str): メトリクスの名前。
  • ascending (bool): 昇順にソートするかどうか。デフォルトは False に設定されています。

class OrderedList

番号付きリストの項目リスト。

Attributes:

  • items (LList[str]): OrderedListItem オブジェクトのリスト。

class OrderedListItem

順序付きリストの項目。

Attributes:

  • text (str): リストアイテムのテキスト。

class P

テキストの段落。

Attributes:

  • text (str): 段落のテキスト。

class Panel

パネルグリッドで可視化を表示するパネル。

Attributes:

  • layout (Layout): Layout オブジェクト。

class PanelGrid

runset とパネルで構成されるグリッド。runset とパネルはそれぞれ RunsetPanel オブジェクトで追加します。

利用可能なパネル:

  • LinePlot, ScatterPlot, BarPlot, ScalarChart, CodeComparer, ParallelCoordinatesPlot, ParameterImportancePlot, RunComparer, MediaBrowser, MarkdownPanel, CustomChart, WeavePanel, WeavePanelSummaryTable, WeavePanelArtifactVersionedFile

Attributes:

  • runsets (LList[“Runset”]): Runset オブジェクトのリスト。
  • panels (LList[“PanelTypes”]): Panel オブジェクトのリスト。
  • active_runset (int): runset 内で表示したい run の数。デフォルトは 0 に設定されています。
  • custom_run_colors (dict): run の名前をキーに指定し、16進値の色を値として指定するキーと値のペア。

class ParallelCoordinatesPlot

並列座標プロットを表示するパネルオブジェクト。

Attributes:

  • columns (LList[ParallelCoordinatesPlotColumn]): ParallelCoordinatesPlotColumn オブジェクトのリスト。
  • title (Optional[str]): プロットの上部に表示されるテキスト。
  • gradient (Optional[LList[GradientPoint]]): 勾配ポイントのリスト。
  • font_size (Optional[FontSize]): ラインプロットのフォントサイズ。オプションには small, medium, large, auto, または None が含まれます。

class ParallelCoordinatesPlotColumn

並列座標プロット内の列。指定された metric の順序が並列軸 (x軸) の順序を決定します。

Attributes:

  • metric (str | Config | SummaryMetric): W&B プロジェクトにログされたメトリクスの名前。このレポートは情報を取得します。
  • display_name (Optional[str]): メトリクスの表示名。
  • inverted (Optional[bool]): メトリクスを反転するかどうか。
  • log (Optional[bool]): メトリクスに対数変換を適用するかどうか。

class ParameterImportancePlot

各ハイパーパラメーターが選択されたメトリクスの予測にどれほど重要かを示すパネル。

Attributes:

  • with_respect_to (str): パラメータの重要度を比較したいメトリクス。一般的なメトリクスにはロス、精度などが含まれます。指定されたメトリクスはプロジェクト内でログされる必要があります。このレポートは情報を取得します。

class Report

W&B レポートを表すオブジェクト。返されたオブジェクトの blocks 属性を使用してレポートをカスタマイズします。レポートオブジェクトは自動的に保存されません。save() メソッドを使用して変更を保存してください。

Attributes:

  • project (str): 読み込む W&B プロジェクトの名前。指定されたプロジェクトはレポートの URL に表示されます。
  • entity (str): レポートを所有する W&B エンティティ。エンティティはレポートの URL に表示されます。
  • title (str): レポートのタイトル。タイトルはレポートのトップに H1 ヘッディングとして表示されます。
  • description (str): レポートの説明。説明はレポートのタイトルの下に表示されます。
  • blocks (LList[BlockTypes]): HTML タグ、プロット、グリッド、runset などのリスト。
  • width (Literal[‘readable’, ‘fixed’, ‘fluid’]): レポートの幅。オプションには ‘readable’, ‘fixed’, ‘fluid’ が含まれます。

property url

レポートがホストされている URL。レポート URL は https://wandb.ai/{entity}/{project_name}/reports/ で構成されます。ここで {entity}{project_name} はそれぞれレポートが所属するエンティティとプロジェクトの名前です。


classmethod from_url

from_url(url: str, as_model: bool = False)

現在の環境にレポートを読み込みます。レポートがホストされている URL を渡します。

Arguments:

  • url (str): レポートがホストされている URL。
  • as_model (bool): True に設定すると、レポートオブジェクトの代わりにモデルオブジェクトが返されます。デフォルトは False に設定されています。

method save

save(draft: bool = False, clone: bool = False)

レポートオブジェクトに加えた変更を保存します。


method to_html

to_html(height: int = 1024, hidden: bool = False)  str

このレポートを表示する iframe を含む HTML を生成します。通常、Python ノートブック内で使用されます。

Arguments:

  • height (int): iframe の高さ。
  • hidden (bool): True に設定すると、iframe を非表示にします。デフォルトは False に設定されています。

class RunComparer

プロジェクトから引き出された情報で、異なる run 間のメトリクスを比較するパネル。

Attributes:

  • diff_only (Optional[Literal[“split”, True]]): プロジェクト内の run 間の差異のみを表示します。W&B レポート UI ではこの機能のオン/オフを切り替えることができます。

class Runset

パネルグリッドに表示する run のセット。

Attributes:

  • entity (str): run が保存されているプロジェクトを所有したり、正しい権限を持つエンティティ。
  • project (str): run が保存されているプロジェクトの名前。
  • name (str): run セットの名前。デフォルトで Run set に設定されています。
  • query (str): run をフィルタリングするためのクエリ文字列。
  • filters (Optional[str]): run をフィルタリングするためのフィルタ文字列。
  • groupby (LList[str]): グループ化するメトリクス名のリスト。
  • order (LList[OrderBy]): ソートするための OrderBy オブジェクトのリスト。
  • custom_run_colors (LList[OrderBy]): run ID を色にマッピングする辞書。

class RunsetGroup

runset のグループを表示する UI エレメント。

Attributes:

  • runset_name (str): runset の名前。
  • keys (Tuple[RunsetGroupKey, …]): グループ化するためのキー。グループ化するために1つ以上の RunsetGroupKey オブジェクトを渡します。

class RunsetGroupKey

メトリクスタイプと値によって runset をグループ化します。RunsetGroup の一部として動作します。メトリクスタイプとグループ化する値をキーと値のペアとして指定します。

Attributes:

  • key (Type[str] | Type[Config] | Type[SummaryMetric] | Type[Metric]): グループ化するメトリクスタイプ。
  • value (str): グループ化するメトリクスの値。

class ScalarChart

スカラーグラフを表示するパネルオブジェクト。

Attributes:

  • title (Optional[str]): プロットの上部に表示されるテキスト。
  • metric (MetricType): W&B プロジェクトにログされたメトリクスの名前。このレポートは情報を取得します。
  • groupby_aggfunc (Optional[GroupAgg]): 指定された関数で run を集計します。オプションには mean, min, max, median, sum, samples, または None が含まれます。
  • groupby_rangefunc (Optional[GroupArea]): 範囲に基づいて run をグループ化します。オプションには minmax, stddev, stderr, none, samples, または None が含まれます。
  • custom_expressions (Optional[LList[str]]): スカラーチャートで使用されるカスタム式のリスト。
  • legend_template (Optional[str]): 凡例のテンプレート。
  • font_size (Optional[FontSize]): ラインプロットのフォントサイズ。オプションには small, medium, large, auto, または None が含まれます。

class ScatterPlot

2D または 3D 散布図を表示するパネルオブジェクト。

Arguments:

  • title (Optional[str]): プロットの上部に表示されるテキスト。
  • x (Optional[SummaryOrConfigOnlyMetric]): W&B プロジェクトにログされたメトリクスの名前。このレポートは情報を取得します。指定されたメトリクスは x 軸に使用されます。
  • y (Optional[SummaryOrConfigOnlyMetric]): W&B プロジェクトにログされた1つ以上のメトリクス。このレポートは情報を取得します。指定されたメトリクスは y 軸にプロットされます。
  • range_x (Tuple[float | None, float | None]): x軸の範囲を指定するタプル。
  • range_y (Tuple[float | None, float | None]): y軸の範囲を指定するタプル。
  • log_x (Optional[bool]): x 座標を底 10 の対数スケールでプロットします。
  • log_y (Optional[bool]): y 座標を底 10 の対数スケールでプロットします。
  • legend_template (Optional[str]): 凡例の形式を指定する文字列。
  • gradient (Optional[LList[GradientPoint]]): プロットの色勾配を指定する勾配ポイントのリスト。
  • font_size (Optional[FontSize]): ラインプロットのフォントサイズ。オプションには small, medium, large, auto, または None が含まれます。
  • regression (Optional[bool]): True に設定すると、散布図に回帰直線をプロットします。

class SoundCloud

SoundCloud プレーヤーをレンダリングするブロック。

Attributes:

  • html (str): SoundCloud プレーヤーを埋め込むための HTML コード。

class Spotify

Spotify プレーヤーをレンダリングするブロック。

Attributes:

  • spotify_id (str): トラックまたはプレイリストの Spotify ID。

class SummaryMetric

レポート内に表示するサマリメトリクス。

Attributes:

  • name (str): メトリクスの名前。

class TableOfContents

H1, H2, H3 の HTML ブロックを使用して指定されたセクションとサブセクションのリストを含むブロック。


class TextWithInlineComments

インラインコメント付きのテキストブロック。

Attributes:

  • text (str): テキストブロックのテキスト。

class Twitter

Twitter フィードを表示するブロック。

Attributes:

  • html (str): Twitter フィードを表示するための HTML コード。

class UnorderedList

箇条書きリストの項目リスト。

Attributes:

  • items (LList[str]): UnorderedListItem オブジェクトのリスト。

class UnorderedListItem

順序のないリストの項目。

Attributes:

  • text (str): リストアイテムのテキスト。

class Video

ビデオをレンダリングするブロック。

Attributes:

  • url (str): ビデオの URL。

class WeaveBlockArtifact

W&B にログされたアーティファクトを示すブロック。クエリは次の形式を取ります。

project('entity', 'project').artifact('artifact-name')

API 名内の “Weave” の用語は、LLM を追跡および評価するために使用される W&B Weave ツールキットを指していません。

Attributes:

  • entity (str): アーティファクトが保存されているプロジェクトを所有するか、適切な権限を持つエンティティ。
  • project (str): アーティファクトが保存されているプロジェクト。
  • artifact (str): 取得するアーティファクトの名前。
  • tab (Literal[“overview”, “metadata”, “usage”, “files”, “lineage”]): アーティファクトパネルに表示するタブ。

class WeaveBlockArtifactVersionedFile

バージョン化されたファイルを W&B アーティファクトにログしたことを示すブロック。クエリは次の形式を取ります。

project('entity', 'project').artifactVersion('name', 'version').file('file-name')

API 名内の “Weave” の用語は、LLM を追跡および評価するために使用される W&B Weave ツールキットを指していません。

Attributes:

  • entity (str): アーティファクトが保存されているプロジェクトを所有するか、適切な権限を持つエンティティ。
  • project (str): アーティファクトが保存されているプロジェクト。
  • artifact (str): 取得するアーティファクトの名前。
  • version (str): 取得するアーティファクトのバージョン。
  • file (str): 取得するアーティファクト内に保存されているファイルの名前。

class WeaveBlockSummaryTable

W&B にログされた W&B テーブル、pandas DataFrame、プロット、またはその他の値を表示するブロック。クエリは次の形式を取ります。

project('entity', 'project').runs.summary['value']

API 名内の “Weave” の用語は、LLM を追跡および評価するために使用される W&B Weave ツールキットを指していません。

Attributes:

  • entity (str): 値がログされたプロジェクトを所有するか、適切な権限を持つエンティティ。
  • project (str): 値がログされたプロジェクト。
  • table_name (str): テーブル、DataFrame、プロット、または値の名前。

class WeavePanel

クエリを使用してカスタムコンテンツを表示するための空のクエリパネル。

API 名内の “Weave” の用語は、LLM を追跡および評価するために使用される W&B Weave ツールキットを指していません。


class WeavePanelArtifact

W&B にログされたアーティファクトを示すパネル。

API 名内の “Weave” の用語は、LLM を追跡および評価するために使用される W&B Weave ツールキットを指していません。

Attributes:

  • artifact (str): 取得するアーティファクトの名前。
  • tab (Literal[“overview”, “metadata”, “usage”, “files”, “lineage”]): アーティファクトパネルに表示するタブ。

class WeavePanelArtifactVersionedFile

バージョンのあるファイルを W&B アーティファクトにログしたことを示すパネル。

project('entity', 'project').artifactVersion('name', 'version').file('file-name')

API 名内の “Weave” の用語は、LLM を追跡および評価するために使用される W&B Weave ツールキットを指していません。

Attributes:

  • artifact (str): 取得するアーティファクトの名前。
  • version (str): 取得するアーティファクトのバージョン。
  • file (str): 取得するアーティファクト内に保存されているファイルの名前。

class WeavePanelSummaryTable

W&B にログされた W&B テーブル、pandas DataFrame、プロット、またはその他の値を表示するパネル。クエリは次の形式を取ります。

runs.summary['value']

API 名内の “Weave” の用語は、LLM を追跡および評価するために使用される W&B Weave ツールキットを指していません。

Attributes:

  • table_name (str): テーブル、DataFrame、プロット、または値の名前。

6 - watch

指定された PyTorch モデルにフックし、勾配やモデルの計算グラフを監視します。

watch(
    models: (torch.nn.Module | Sequence[torch.nn.Module]),
    criterion: (torch.F | None) = None,
    log: (Literal['gradients', 'parameters', 'all'] | None) = "gradients",
    log_freq: int = 1000,
    idx: (int | None) = None,
    log_graph: bool = (False)
) -> None

この関数はトレーニング中にパラメータと勾配、またはその両方を追跡できます。将来的には任意の機械学習モデルをサポートするように拡張されるべきです。

Args
models (Union[torch.nn.Module, Sequence[torch.nn.Module]]): 監視する単一のモデルまたは複数のモデルのシーケンス。 criterion (Optional[torch.F]): 最適化される損失関数(オプション)。 log (Optional[Literal[“gradients”, “parameters”, “all”]]): “gradients”, “parameters”, または “all” をログに記録するかどうかを指定します。None に設定するとログは無効になります。 (default=“gradients”) log_freq (int): 勾配とパラメータをログに記録する頻度(バッチごと)。 (default=1000) idx (Optional[int]): wandb.watch を使って複数モデルを追跡する際に使用されるインデックス。 (default=None) log_graph (bool): モデルの計算グラフをログに記録するかどうか。 (default=False)
Raises
ValueError wandb.init が呼び出されていない場合、またはモデルが torch.nn.Module のインスタンスでない場合に発生します。

7 - アーティファクト

データセットとモデルのバージョン管理のための柔軟で軽量なビルディングブロック。

Artifact(
    name: str,
    type: str,
    description: (str | None) = None,
    metadata: (dict[str, Any] | None) = None,
    incremental: bool = (False),
    use_as: (str | None) = None
) -> None

空の W&B Artifact を構築します。アーティファクトの内容を add で始まるメソッドを用いて追加してください。すべてのファイルがそろったら wandb.log_artifact() を呼び出してログ化します。

引数
name アーティファクトの人間が読める名前です。この名前を W&B App UI 内で特定のアーティファクトを識別するのに使用します。プログラムでアーティファクトを参照するには use_artifact パブリック API を使用します。名前には文字、数字、アンダースコア、ハイフン、ドットを含めることができます。名前はプロジェクト内で一意である必要があります。
type アーティファクトのタイプです。アーティファクトの分類や区別に使用します。文字、数字、アンダースコア、ハイフン、ドットを含む任意の文字列を使用できます。一般的なタイプには datasetmodel があります。アーティファクトを W&B Model Registry にリンクしたい場合は、タイプ文字列に model を含めてください。
description アーティファクトの説明です。Model または Dataset Artifacts の場合、標準化されたチームのモデルカードまたはデータセットカードについてのドキュメントを追加します。アーティファクトの説明はプログラムで Artifact.description 属性を使って表示できます。 W&B App では説明がマークダウンとしてレンダリングされます。
metadata アーティファクトに関する追加情報を提供します。メタデータはキーと値のペアの辞書として指定します。合計で最大100個のキーを指定できます。
incremental 既存のアーティファクトを修正するには代わりに Artifact.new_draft() メソッドを使用します。
use_as W&B Launch 専用のパラメータです。一般的な使用には推奨されません。
戻り値
Artifact オブジェクト。
属性
aliases アーティファクトのバージョンに割り当てられた意味的にフレンドリーな参照または識別用の「ニックネーム」のリストです。エイリアスはプログラムで参照できる可変な参照です。アーティファクトのエイリアスは W&B App UI またはプログラムで変更できます。詳しくは Create new artifact versions を参照してください。
collection このアーティファクトが取得されたコレクションです。コレクションはアーティファクトのバージョンをまとめた順序付けられたグループです。このアーティファクトがポートフォリオ/リンクされたコレクションから取得された場合、そのコレクションが返されます。アーティファクトの起源となるコレクションはソースシーケンスとして知られています。
commit_hash このアーティファクトがコミットされた時に返されたハッシュです。
created_at アーティファクトが作成された時のタイムスタンプです。
description アーティファクトの説明です。
digest アーティファクトの論理的なダイジェストです。ダイジェストはアーティファクトの内容のチェックサムです。アーティファクトのダイジェストが現在の latest バージョンと同じであれば、log_artifact は何もせず終了します。
entity セカンダリ(ポートフォリオ)アーティファクトコレクションのエンティティの名前です。
file_count ファイルの数(参照を含む)です。
id アーティファクトの ID です。
manifest アーティファクトのマニフェストです。マニフェストには全ての内容が記載されており、アーティファクトがログ化された後は変更できません。
metadata ユーザー定義のアーティファクトメタデータです。アーティファクトに関連付けられた構造化データです。
name セカンダリ(ポートフォリオ)コレクションでのアーティファクト名とバージョンです。文字列のフォーマットは {collection}:{alias} です。アーティファクトが保存される前は、バージョンがまだ知られていないため名前のみを含みます。
project セカンダリ(ポートフォリオ)アーティファクトコレクションのプロジェクト名です。
qualified_name セカンダリ(ポートフォリオ)コレクションの entity/project/name です。
size アーティファクトの総サイズ(バイト単位)です。このアーティファクトに追跡されているすべての参照を含みます。
source_collection アーティファクトのプライマリ(シーケンス)コレクションです。
source_entity プライマリ(シーケンス)アーティファクトコレクションのエンティティの名前です。
source_name プライマリ(シーケンス)コレクションでのアーティファクト名とバージョンです。文字列のフォーマットは {collection}:{alias} です。アーティファクトが保存される前は、バージョンがまだ知られていないため名前のみを含みます。
source_project プライマリ(シーケンス)アーティファクトコレクションのプロジェクト名です。
source_qualified_name プライマリ(シーケンス)コレクションの entity/project/name です。
source_version プライマリ(シーケンス)コレクションでのアーティファクトのバージョンです。文字列のフォーマットは v{number} です。
state アーティファクトの状態です。 “PENDING”, “COMMITTED”, “DELETED” のいずれかです。
tags このアーティファクトバージョンに割り当てられたタグのリストです。
ttl アーティファクトの生存期間 (TTL) ポリシーです。TTL ポリシーの期間が経過すると、アーティファクトはすぐに削除されます。None に設定されている場合、アーティファクトは TTL ポリシーを無効にし、チームのデフォルト TTL が存在しても削除が予定されません。TTL は、チーム管理者がデフォルトの TTL を設定した場合と、アーティファクトにカスタムポリシーがない場合は、チームのデフォルト TTL からポリシーを継承します。
type アーティファクトのタイプです。一般的なタイプには datasetmodel が含まれます。
updated_at アーティファクトが最後に更新された時刻です。
url アーティファクトの URL を構築します。
version セカンダリ(ポートフォリオ)コレクションでのアーティファクトのバージョンです。

メソッド

add

ソースを表示

add(
    obj: WBValue,
    name: StrPath,
    overwrite: bool = (False)
) -> ArtifactManifestEntry

wandb.WBValue obj をアーティファクトに追加します。

引数
obj 追加するオブジェクトです。現在、Bokeh、JoinedTable、PartitionedTable、Table、Classes、ImageMask、BoundingBoxes2D、Audio、Image、Video、Html、Object3D のいずれかをサポートしています。
name オブジェクトを追加するアーティファクト内のパスです。
overwrite True の場合、同じファイルパスを持つ既存のオブジェクトを上書きします(該当する場合)。
戻り値
追加されたマニフェストエントリ
例外
ArtifactFinalizedError 現在のアーティファクトバージョンには変更を加えることができません。新しいアーティファクトバージョンをログに記録してください。

add_dir

ソースを表示

add_dir(
    local_path: str,
    name: (str | None) = None,
    skip_cache: (bool | None) = (False),
    policy: (Literal['mutable', 'immutable'] | None) = "mutable"
) -> None

ローカルディレクトリーをアーティファクトに追加します。

引数
local_path ローカルディレクトリーのパスです。
name アーティファクト内のサブディレクトリ名です。指定した名前は W&B App UI にアーティファクトの type にネストされて表示されます。デフォルトではアーティファクトのルートになります。
skip_cache True に設定すると、W&B はアップロード時にファイルをキャッシュにコピー/移動しません。
policy “mutable”
例外
ArtifactFinalizedError 現在のアーティファクトバージョンには変更を加えることができません。新しいアーティファクトバージョンをログに記録してください。
ValueError ポリシーは “mutable” または “immutable” でなければなりません。

add_file

ソースを表示

add_file(
    local_path: str,
    name: (str | None) = None,
    is_tmp: (bool | None) = (False),
    skip_cache: (bool | None) = (False),
    policy: (Literal['mutable', 'immutable'] | None) = "mutable",
    overwrite: bool = (False)
) -> ArtifactManifestEntry

ローカルファイルをアーティファクトに追加します。

引数
local_path 追加されるファイルのパスです。
name 追加されるファイルに使用するアーティファクト内のパスです。デフォルトではファイルのベース名になります。
is_tmp True の場合、名前の競合を避けるためにファイルの名前が決定論的に変更されます。
skip_cache True の場合、アップロード後にファイルをキャッシュにコピーしません。
policy デフォルトは “mutable” に設定されています。“mutable” の場合、アップロード中の破損を防ぐためにファイルの一時コピーを作成します。“immutable” の場合、保護を無効にし、ファイルを削除や変更しないようユーザーに依存します。
overwrite True の場合、既に存在するファイルを上書きします。
戻り値
追加されたマニフェストエントリ。
例外
ArtifactFinalizedError 現在のアーティファクトバージョンには変更を加えることができません。新しいアーティファクトバージョンをログに記録してください。
ValueError ポリシーは “mutable” または “immutable” でなければなりません。

add_reference

ソースを表示

add_reference(
    uri: (ArtifactManifestEntry | str),
    name: (StrPath | None) = None,
    checksum: bool = (True),
    max_objects: (int | None) = None
) -> Sequence[ArtifactManifestEntry]

URI によって示される参照をアーティファクトに追加します。

アーティファクトにファイルやディレクトリを追加する場合と異なり、参照は W&B にアップロードされません。詳細は、Track external files を参照してください。

デフォルトでは、以下のスキームがサポートされています:

  • http(s): ファイルのサイズとダイジェストはサーバーから返された Content-LengthETag レスポンスヘッダによって推測されます。
  • s3: チェックサムとサイズはオブジェクトメタデータから取得されます。バケットバージョン管理が有効な場合、バージョン ID も追跡されます。
  • gs: チェックサムとサイズはオブジェクトメタデータから取得されます。バケットバージョン管理が有効な場合、バージョン ID も追跡されます。
  • https, *.blob.core.windows.net (Azure) ドメイン: チェックサムとサイズはブロブメタデータから取得されます。ストレージアカウントのバージョン管理が有効な場合、バージョン ID も追跡されます。
  • file: チェックサムとサイズはファイルシステムから取得されます。このスキームは、アップロードする必要はないが追跡したいファイルを含む NFS シェアや他の外部マウントボリュームを持っている場合に便利です。

その他のスキームについては、ダイジェストは URI のハッシュとして生成され、サイズは空欄のままです。

引数
uri 追加する参照の URI パスです。URI パスは Artifact.get_entry から返されたオブジェクトであり、他のアーティファクトのエントリへの参照として保存することができます。
name この参照の内容を置くアーティファクト内のパスです。
checksum 参照 URI にあるリソースをチェックサムするかどうか。チェックサムは自動的な整合性の検証を可能にするため、非常に推奨されます。チェックサムを無効にすると、アーティファクトの作成が速くなりますが、参照ディレクトリは繰り返し処理されないため、ディレクトリ内のオブジェクトはアーティファクトに保存されません。参照オブジェクトを追加する場合は checksum=False を設定することをお勧めします。そうすれば、参照 URI が変更された場合のみ新しいバージョンが作成されます。
max_objects ディレクトリまたはバケットストアプレフィックスを指す参照を追加する際に考慮する最大オブジェクト数です。デフォルトでは、Amazon S3、GCS、Azure、ローカルファイルに対して許可されている最大オブジェクト数は 10,000,000 です。他の URI スキーマには最大はありません。
戻り値
追加されたマニフェストエントリ。
例外
ArtifactFinalizedError 現在のアーティファクトバージョンには変更を加えることができません。新しいアーティファクトバージョンをログに記録してください。

checkout

ソースを表示

checkout(
    root: (str | None) = None
) -> str

指定されたルートディレクトリをアーティファクトの内容に置き換えます。

警告: root に含まれているがアーティファクトに含まれていないすべてのファイルは削除されます。

引数
root このアーティファクトのファイルで置き換えるディレクトリ。
戻り値
チェックアウトされた内容のパス。
例外
ArtifactNotLoggedError アーティファクトがログされていない場合。

delete

ソースを表示

delete(
    delete_aliases: bool = (False)
) -> None

アーティファクトおよびそのファイルを削除します。

リンクされたアーティファクト(すなわち、ポートフォリオコレクションのメンバー)に対して呼び出された場合、リンクのみが削除され、元のアーティファクトには影響を与えません。

引数
delete_aliases True に設定されている場合は、アーティファクトに関連付けられたすべてのエイリアスを削除します。それ以外の場合、既存のエイリアスがある場合は例外を発生させます。このパラメータは、アーティファクトがリンクされている場合(つまり、ポートフォリオコレクションのメンバー)には無視されます。
例外
ArtifactNotLoggedError アーティファクトがログされていない場合。

download

ソースを表示

download(
    root: (StrPath | None) = None,
    allow_missing_references: bool = (False),
    skip_cache: (bool | None) = None,
    path_prefix: (StrPath | None) = None
) -> FilePathStr

アーティファクトの内容を指定されたルートディレクトリにダウンロードします。

root 内の既存ファイルは変更されません。 root の内容をアーティファクトと完全に一致させたい場合は、download を呼び出す前に root を明示的に削除してください。

引数
root W&B がアーティファクトのファイルを保存するディレクトリ。
allow_missing_references True に設定した場合、ダウンロード中に無効な参照パスが無視されます。
skip_cache True に設定した場合、ダウンロード中にアーティファクトキャッシュはスキップされ、W&B は各ファイルをデフォルトのルートまたは指定されたダウンロードディレクトリにダウンロードします。
path_prefix 指定すると、そのプレフィックスで始まるパスを持つファイルのみがダウンロードされます。Unix 形式(フォワードスラッシュ)を使用します。
戻り値
ダウンロードされた内容のパス。
例外
ArtifactNotLoggedError アーティファクトがログされていない場合。
RuntimeError オフラインモードでアーティファクトをダウンロードしようとした場合。

file

ソースを表示

file(
    root: (str | None) = None
) -> StrPath

指定した root のディレクトリに単一のファイルアーティファクトをダウンロードします。

引数
root ファイルを保存するルートディレクトリです。デフォルトは './artifacts/self.name/' です。
戻り値
ダウンロードされたファイルのフルパス。
例外
ArtifactNotLoggedError アーティファクトがログされていない場合。
ValueError アーティファクトに複数のファイルが含まれている場合。

files

ソースを表示

files(
    names: (list[str] | None) = None,
    per_page: int = 50
) -> ArtifactFiles

このアーティファクトに保存されているすべてのファイルを反復処理します。

引数
names アーティファクトのルートからの相対ファイルパスで、リストを希望するファイルのパス。
per_page 要求ごとに返されるファイルの数。
戻り値
File オブジェクトを含むイテレータ。
例外
ArtifactNotLoggedError アーティファクトがログされていない場合。

finalize

ソースを表示

finalize() -> None

アーティファクトバージョンを確定します。

一度確定されたアーティファクトバージョンは、特定のアーティファクトバージョンとしてログされるため、変更できません。新しいデータをアーティファクトに記録するには、新しいアーティファクトバージョンを作成してください。アーティファクトは、log_artifact を使用してログ化すると自動的に確定されます。

get

ソースを表示

get(
    name: str
) -> (WBValue | None)

アーティファクト相対 name に配置されている WBValue オブジェクトを取得します。

引数
name 取得するアーティファクトの相対名。
戻り値
wandb.log() で記録され、W&B UI で視覚化可能な W&B オブジェクトです。
例外
ArtifactNotLoggedError アーティファクトがログされていない場合や、run がオフラインの場合。

get_added_local_path_name

ソースを表示

get_added_local_path_name(
    local_path: str
) -> (str | None)

ローカルファイルシステムパスによって追加されたファイルのアーティファクト相対名を取得します。

引数
local_path アーティファクト相対名に解決するローカルパス。
戻り値
アーティファクト相対名。

get_entry

ソースを表示

get_entry(
    name: StrPath
) -> ArtifactManifestEntry

指定した名前のエントリを取得します。

引数
name 取得するアーティファクト相対名です。
戻り値
W&B オブジェクトです。
例外
ArtifactNotLoggedError アーティファクトがログされていない場合、または run がオフラインの場合。
KeyError 指定した名前のエントリがアーティファクトに含まれていない場合。

get_path

ソースを表示

get_path(
    name: StrPath
) -> ArtifactManifestEntry

非推奨。get_entry(name) を使用してください。

is_draft

ソースを表示

is_draft() -> bool

アーティファクトが保存されていないかをチェックします。

Returns: Boolean. False はアーティファクトが保存された場合。True はアーティファクトが保存されていない場合。

json_encode

ソースを表示

json_encode() -> dict[str, Any]

アーティファクトを JSON 形式にエンコードして返します。

戻り値
アーティファクトの属性を表す string キーを持つ dict

ソースを表示

link(
    target_path: str,
    aliases: (list[str] | None) = None
) -> None

このアーティファクトをポートフォリオ(プロモートされたアーティファクトのコレクション)にリンクします。

引数
target_path プロジェクト内のポートフォリオへのパス。ターゲットパスは、次のスキーマのいずれかに従っている必要があります。{portfolio}, {project}/{portfolio} または {entity}/{project}/{portfolio}。Model Registry にアーティファクトをリンクする場合は、プロジェクト内のジェネリックポートフォリオではなく、ターゲットパスを次のスキーマ {model-registry}/{Registered Model Name} または {entity}/{model-registry}/{Registered Model Name} に設定します。
aliases 指定されたポートフォリオ内でアーティファクトを一意に識別する文字列のリスト。
例外
ArtifactNotLoggedError アーティファクトがログされていない場合。

logged_by

ソースを表示

logged_by() -> (Run | None)

元々アーティファクトをログした W&B run を取得します。

戻り値
元々アーティファクトをログした W&B run の名前。
例外
ArtifactNotLoggedError アーティファクトがログされていない場合。

new_draft

ソースを表示

new_draft() -> Artifact

このコミット済みのアーティファクトと同じ内容の新しいドラフトアーティファクトを作成します。

既存のアーティファクトを修正すると、新しいアーティファクトバージョンである「インクリメンタルアーティファクト」が作成されます。返されたアーティファクトは拡張または修正され、新しいバージョンとしてログに記録できます。

戻り値
Artifact オブジェクト。
例外
ArtifactNotLoggedError アーティファクトがログされていない場合。

new_file

ソースを表示

@contextlib.contextmanager
new_file(
    name: str,
    mode: str = "x",
    encoding: (str | None) = None
) -> Iterator[IO]

新しい一時ファイルを開いてアーティファクトに追加します。

引数
name アーティファクトに追加する新しいファイルの名前。
mode 新しいファイルを開くために使用するファイルアクセスモード。
encoding 新しいファイルを開く際に使用するエンコーディング。
戻り値
書き込み可能な新しいファイルオブジェクト。閉じると、ファイルは自動的にアーティファクトに追加されます。
例外
ArtifactFinalizedError 現在のアーティファクトバージョンには変更を加えることができません。新しいアーティファクトバージョンをログに記録してください。

remove

ソースを表示

remove(
    item: (StrPath | ArtifactManifestEntry)
) -> None

アイテムをアーティファクトから削除します。

引数
item 削除するアイテム。特定のマニフェストエントリまたはアーティファクト相対パスの名前であることができます。アイテムがディレクトリに一致する場合、そのディレクトリ内のすべてのアイテムが削除されます。
例外
ArtifactFinalizedError 現在のアーティファクトバージョンには変更を加えることができません。新しいアーティファクトバージョンをログに記録してください。
FileNotFoundError アイテムがアーティファクト内で見つからない場合。

save

ソースを表示

save(
    project: (str | None) = None,
    settings: (wandb.Settings | None) = None
) -> None

アーティファクトに加えた変更を永続化します。

現在 run にいる場合、その run はこのアーティファクトをログに記録します。run にいない場合、アーティファクトを追跡するために “auto” タイプの run が作成されます。

引数
project run がすでにコンテキスト内にない場合にアーティファクトに使用するプロジェクト。
settings 自動 run を初期化する際に使用する設定オブジェクト。主にテストハーネスに使用されます。

ソースを表示

unlink() -> None

このアーティファクトが現在ポートフォリオのメンバーである場合、それを解除します(プロモートされたアーティファクトのコレクション)。

例外
ArtifactNotLoggedError アーティファクトがログされていない場合。
ValueError アーティファクトがリンクされていない場合、つまりポートフォリオコレクションのメンバーでない場合。

used_by

ソースを表示

used_by() -> list[Run]

このアーティファクトを使用した run のリストを取得します。

戻り値
Run オブジェクトのリスト。
例外
ArtifactNotLoggedError アーティファクトがログされていない場合。

verify

ソースを表示

verify(
    root: (str | None) = None
) -> None

アーティファクトの内容がマニフェストと一致するかを確認します。

ディレクトリ内のすべてのファイルはチェックサムが計算され、チェックサムはアーティファクトのマニフェストと照合されます。参照は確認されません。

引数
root 検証するディレクトリ。None の場合、アーティファクトは './artifacts/self.name/' にダウンロードされます。
例外
ArtifactNotLoggedError アーティファクトがログされていない場合。
ValueError 検証に失敗した場合。

wait

ソースを表示

wait(
    timeout: (int | None) = None
) -> Artifact

必要であれば、このアーティファクトがログの終了を待ちます。

引数
timeout 待機する時間(秒単位)。
戻り値
Artifact オブジェクト。

__getitem__

ソースを表示

__getitem__(
    name: str
) -> (WBValue | None)

アーティファクト相対 name に配置されている WBValue オブジェクトを取得します。

引数
name 取得するアーティファクトの相対名。
戻り値
wandb.log() で記録され、W&B UI で視覚化可能な W&B オブジェクトです。
例外
ArtifactNotLoggedError アーティファクトがログされていない場合や、run がオフラインの場合。

__setitem__

ソースを表示

__setitem__(
    name: str,
    item: WBValue
) -> ArtifactManifestEntry

item をアーティファクトの name パスに追加します。

引数
name オブジェクトを追加するアーティファクト内のパス。
item 追加するオブジェクト。
戻り値
追加されたマニフェストエントリ
例外
ArtifactFinalizedError 現在のアーティファクトバージョンには変更を加えることができません。新しいアーティファクトバージョンをログに記録してください。

8 - インポート&エクスポート API

クラス

class Api: wandb サーバーをクエリするために使用されます。

class File: File は wandb によって保存されたファイルに関連付けられているクラスです。

class Files: File オブジェクトの反復可能なコレクション。

class Job

class Project: プロジェクトは、run の名前空間です。

class Projects: Project オブジェクトの反復可能なコレクション。

class QueuedRun: entity と project に関連付けられた単一のキューされた run。run = queued_run.wait_until_running() または run = queued_run.wait_until_finished() を呼び出して run にアクセスします。

class Run: entity と project に関連付けられた単一の run。

class RunQueue

class Runs: プロジェクトとオプションのフィルタに関連付けられたいくつかの run の反復可能なコレクション。

class Sweep: sweep に関連付けられた一連の runs。

8.1 - 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)を参照してください。

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 を設定できます。また、entityproject、および 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、またはレポートへのパス
戻り値
ProjectRunSweep、または 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_atheartbeat_atconfig.*.valuesummary_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

8.2 - QueuedRun

エンティティとプロジェクトに関連付けられた単一のキューに入った run。run = queued_run.wait_until_running() または run = queued_run.wait_until_finished() を呼び出して run に アクセスします。

QueuedRun(
    client, entity, project, queue_name, run_queue_item_id,
    project_queue=LAUNCH_DEFAULT_PROJECT, priority=None
)
属性

メソッド

delete

ソースを見る

delete(
    delete_artifacts=(False)
)

指定されたキューに入った run を wandb のバックエンドから削除します。

wait_until_finished

ソースを見る

wait_until_finished()

wait_until_running

ソースを見る

wait_until_running()

8.3 - run

プロジェクトに関連付けられた runs の反復可能なコレクションとオプションフィルター。

Runs(
    client: "RetryingClient",
    entity: str,
    project: str,
    filters: Optional[Dict[str, Any]] = None,
    order: Optional[str] = None,
    per_page: int = 50,
    include_sweeps: bool = (True)
)

これは通常、Api.runs メソッドを介して間接的に使用されます。

属性

メソッド

convert_objects

ソースを表示

convert_objects()

histories

ソースを表示

histories(
    samples: int = 500,
    keys: Optional[List[str]] = None,
    x_axis: str = "_step",
    format: Literal['default', 'pandas', 'polars'] = "default",
    stream: Literal['default', 'system'] = "default"
)

フィルター条件に適合するすべての runs のサンプル履歴メトリクスを返します。

引数
samples (int, オプション) 各 run に対して返されるサンプルの数
keys (list[str], オプション) 特定のキーのメトリクスのみを返します
x_axis (str, オプション) このメトリクスを x 軸として使用します。デフォルトは _step
format (Literal, オプション) データを返すフォーマット、オプションは “default”, “pandas”, “polars”
stream (Literal, オプション) メトリクスの “default”, マシンメトリクスの “system”
戻り値
pandas.DataFrame format=“pandas” の場合、履歴メトリクスの pandas.DataFrame を返します。
polars.DataFrame format=“polars” の場合、履歴メトリクスの polars.DataFrame を返します。リスト of dicts: format=“default” の場合、履歴メトリクスを含む dicts のリストを run_id キー付きで返します。

next

ソースを表示

next()

update_variables

ソースを表示

update_variables()

__getitem__

ソースを表示

__getitem__(
    index
)

__iter__

ソースを表示

__iter__()

__len__

ソースを表示

__len__()
クラス変数
QUERY

8.4 - Run

エンティティおよびプロジェクトに関連付けられた単一の run。

Run(
    client: "RetryingClient",
    entity: str,
    project: str,
    run_id: str,
    attrs: Optional[Mapping] = None,
    include_sweeps: bool = (True)
)
属性

メソッド

create

ソースを見る

@classmethod
create(
    api, run_id=None, project=None, entity=None
)

指定されたプロジェクトのために run を作成します。

delete

ソースを見る

delete(
    delete_artifacts=(False)
)

指定された run を wandb バックエンドから削除します。

display

ソースを見る

display(
    height=420, hidden=(False)
) -> bool

このオブジェクトを Jupyter で表示します。

file

ソースを見る

file(
    name
)

指定された名前のファイルのパスをアーティファクトで返します。

引数
name (str): 要求されたファイルの名前。
戻り値
指定された name 引数と一致する File

files

ソースを見る

files(
    names=None, per_page=50
)

指定された名前のすべてのファイルのファイルパスを返します。

引数
names (list): 要求されたファイルの名前、指定されていない場合はすべてのファイルを返す。 per_page (int): ページあたりの結果数。
戻り値
Files オブジェクトで、これは File オブジェクトのイテレータです。

history

ソースを見る

history(
    samples=500, keys=None, x_axis="_step", pandas=(True), stream="default"
)

run のサンプル化された履歴メトリクスを返します。

履歴レコードがサンプリングされることを許容できる場合、こちらの方が簡単で高速です。

引数
samples (int, オプション) 返すサンプル数
pandas (bool, オプション) パンダのデータフレームを返す
keys (list, オプション) 特定のキーのメトリクスのみを返す
x_axis (str, オプション) xAxis として使用するメトリクス、デフォルトは _step
stream (str, オプション) メトリクス用の “default”、マシンメトリクス用の “system”
戻り値
pandas.DataFrame pandas=True の場合は歴史メトリクスの pandas.DataFrame を返します。 pandas=False の場合は歴史メトリクスの辞書のリストを返します。

load

ソースを見る

load(
    force=(False)
)

log_artifact

ソースを見る

log_artifact(
    artifact: "wandb.Artifact",
    aliases: Optional[Collection[str]] = None,
    tags: Optional[Collection[str]] = None
)

アーティファクトを run の出力として宣言します。

引数
artifact (Artifact): wandb.Api().artifact(name) から返されたアーティファクト。 aliases (list, オプション): このアーティファクトに適用するエイリアス。
tags (list, オプション) このアーティファクトに適用するタグ。
戻り値
Artifact オブジェクト。

logged_artifacts

ソースを見る

logged_artifacts(
    per_page: int = 100
) -> public.RunArtifacts

この run によってログされているすべてのアーティファクトを取得します。

run 中にログされたすべての出力アーティファクトを取得します。取得した結果はページネーションされ、イテレートするか、単一のリストにまとめることができます。

引数
per_page API リクエストごとに取得するアーティファクトの数。
戻り値
この run 中に出力として記録されたすべての Artifact オブジェクトのイテレート可能なコレクション。

例:

>>> import wandb
>>> import tempfile
>>> with tempfile.NamedTemporaryFile(
...     mode="w", delete=False, suffix=".txt"
... ) as tmp:
...     tmp.write("これはテストアーティファクトです")
...     tmp_path = tmp.name
>>> run = wandb.init(project="artifact-example")
>>> artifact = wandb.Artifact("test_artifact", type="dataset")
>>> artifact.add_file(tmp_path)
>>> run.log_artifact(artifact)
>>> run.finish()
>>> api = wandb.Api()
>>> finished_run = api.run(f"{run.entity}/{run.project}/{run.id}")
>>> for logged_artifact in finished_run.logged_artifacts():
...     print(logged_artifact.name)
test_artifact

save

ソースを見る

save()

scan_history

ソースを見る

scan_history(
    keys=None, page_size=1000, min_step=None, max_step=None
)

run のすべての履歴レコードをイテレート可能なコレクションで返します。

例:

例として全ての損失値をエクスポート

run = api.run("l2k2/examples-numpy-boston/i0wt6xua")
history = run.scan_history(keys=["Loss"])
losses = [row["Loss"] for row in history]
引数
keys ([str], オプション): これらのキーのみをフェッチし、これらの定義されたすべてのキーを含む行のみをフェッチします。 page_size (int, オプション): API からフェッチするページのサイズ。 min_step (int, オプション): 一度にスキャンするページの最小数。 max_step (int, オプション): 一度にスキャンするページの最大数。
戻り値
履歴レコード (辞書) のイテレート可能なコレクション。

snake_to_camel

ソースを見る

snake_to_camel(
    string
)

to_html

ソースを見る

to_html(
    height=420, hidden=(False)
)

この run を表示する iframe を含む HTML を生成します。

update

ソースを見る

update()

run オブジェクトに対する変更を wandb バックエンドに保存します。

upload_file

ソースを見る

upload_file(
    path, root="."
)

ファイルをアップロードします。

引数
path (str): アップロードするファイルの名前。 root (str): ファイルを保存するルートパス。例: ファイルを “my_dir/file.txt” として保存したい場合で、現在 “my_dir” にいる場合は、 root を “../” に設定します。
戻り値
指定された name 引数に一致する File

use_artifact

ソースを見る

use_artifact(
    artifact, use_as=None
)

アーティファクトを run への入力として宣言します。

引数
artifact (Artifact): wandb.Api().artifact(name) から返されたアーティファクト。 use_as (string, オプション): スクリプトでアーティファクトがどのように使用されるかを識別する文字列。 run で使用されるアーティファクトを簡単に識別するために、ベータ版の wandb launch 機能のアーティファクト交換機能を使用します。
戻り値
Artifact オブジェクト。

used_artifacts

ソースを見る

used_artifacts(
    per_page: int = 100
) -> public.RunArtifacts

この run で明示的に使用されているアーティファクトを取得します。

run 中に明示的に使用された入力アーティファクトのみを取得します。通常は run.use_artifact() を通じて宣言される。取得した結果はページネーションされ、イテレートするか、単一のリストにまとめることができます。

引数
per_page API リクエストごとに取得するアーティファクトの数。
戻り値
この run 中に入力として明示的に使用された Artifact オブジェクトのイテレート可能なコレクション。

例:

>>> import wandb
>>> run = wandb.init(project="artifact-example")
>>> run.use_artifact("test_artifact:latest")
>>> run.finish()
>>> api = wandb.Api()
>>> finished_run = api.run(f"{run.entity}/{run.project}/{run.id}")
>>> for used_artifact in finished_run.used_artifacts():
...     print(used_artifact.name)
test_artifact

wait_until_finished

ソースを見る

wait_until_finished()

8.5 - RunQueue

RunQueue(
    client: "RetryingClient",
    name: str,
    entity: str,
    prioritization_mode: Optional[RunQueuePrioritizationMode] = None,
    _access: Optional[RunQueueAccessType] = None,
    _default_resource_config_id: Optional[int] = None,
    _default_resource_config: Optional[dict] = None
) -> None
属性
items 最初の100個のキューに入れられた runs まで。 このリストを変更しても、キューやキューに入れられた項目は変更されません!

メソッド

create

ソースを見る

@classmethod
create(
    name: str,
    resource: "RunQueueResourceType",
    entity: Optional[str] = None,
    prioritization_mode: Optional['RunQueuePrioritizationMode'] = None,
    config: Optional[dict] = None,
    template_variables: Optional[dict] = None
) -> "RunQueue"

delete

ソースを見る

delete()

wandb のバックエンドから run queue を削除します。

8.6 - Sweep

スイープに関連付けられた一連の runs。

Sweep(
    client, entity, project, sweep_id, attrs=None
)

例:

次のようにインスタンス化します:

api = wandb.Api()
sweep = api.sweep(path / to / sweep)
属性
runs (Runs) run のリスト
id (str) スイープの id
project (str) プロジェクトの名前
config (str) スイープ設定の辞書
state (str) スイープの状態
expected_run_count (int) スイープの予想される run の数

メソッド

best_run

ソースを表示

best_run(
    order=None
)

設定で定義されたメトリックまたは渡された順序でソートされた最良の run を返します。

display

ソースを表示

display(
    height=420, hidden=(False)
) -> bool

このオブジェクトを jupyter に表示します。

get

ソースを表示

@classmethod
get(
    client, entity=None, project=None, sid=None, order=None, query=None, **kwargs
)

クラウドバックエンドに対してクエリを実行します。

load

ソースを表示

load(
    force: bool = (False)
)

snake_to_camel

ソースを表示

snake_to_camel(
    string
)

to_html

ソースを表示

to_html(
    height=420, hidden=(False)
)

このスイープを表示する iframe を含む HTML を生成します。

クラス変数
LEGACY_QUERY
QUERY

8.7 - ジョブ

Job(
    api: "Api",
    name,
    path: Optional[str] = None
) -> None
属性

メソッド

call

ソースを表示

call(
    config, project=None, entity=None, queue=None, resource="local-container",
    resource_args=None, template_variables=None, project_queue=None, priority=None
)

set_entrypoint

ソースを表示

set_entrypoint(
    entrypoint: List[str]
)

8.8 - ファイル

File オブジェクトの反復可能なコレクション。

Files(
    client, run, names=None, per_page=50, upload=(False)
)
属性

メソッド

convert_objects

ソースを表示

convert_objects()

next

ソースを表示

next()

update_variables

ソースを表示

update_variables()

__getitem__

ソースを表示

__getitem__(
    index
)

__iter__

ソースを表示

__iter__()

__len__

ソースを表示

__len__()
クラス変数
QUERY

8.9 - プロジェクト

プロジェクトは、run のための名前空間です。

Project(
    client, entity, project, attrs
)
属性

メソッド

artifacts_types

ソースを見る

artifacts_types(
    per_page=50
)

display

ソースを見る

display(
    height=420, hidden=(False)
) -> bool

jupyter でこのオブジェクトを表示します。

snake_to_camel

ソースを見る

snake_to_camel(
    string
)

sweeps

ソースを見る

sweeps()

to_html

ソースを見る

to_html(
    height=420, hidden=(False)
)

このプロジェクトを表示する iframe を含む HTML を生成します。

8.10 - プロジェクト

Project オブジェクトの反復可能なコレクション。

Projects(
    client, entity, per_page=50
)
属性

メソッド

convert_objects

ソースを見る

convert_objects()

next

ソースを見る

next()

update_variables

ソースを見る

update_variables()

__getitem__

ソースを見る

__getitem__(
    index
)

__iter__

ソースを見る

__iter__()

__len__

ソースを見る

__len__()
クラス変数
QUERY

8.11 - 申し訳ありませんが、私は提供された文書の翻訳を行うためのテキストが不足しています。何か特定のテキストまたは文書を提供していただければ、それを翻訳いたします。それに基づいて正確な翻訳を提供できますので、どうぞよろしくお願いします。

File は wandb によって保存されたファイルに関連付けられているクラスです。

File(
    client, attrs, run=None
)
属性
path_uri ストレージバケット内のファイルへの URI パスを返します。

メソッド

delete

ソースを表示

delete()

display

ソースを表示

display(
    height=420, hidden=(False)
) -> bool

このオブジェクトを jupyter で表示します。

download

ソースを表示

download(
    root: str = ".",
    replace: bool = (False),
    exist_ok: bool = (False),
    api: Optional[Api] = None
) -> io.TextIOWrapper

wandb サーバーから run によって以前に保存されたファイルをダウンロードします。

引数
replace (boolean): True の場合、ローカルファイルが存在するときにダウンロードがそのファイルを上書きします。デフォルトは False。root (str): ファイルを保存するローカルディレクトリー。デフォルトは “."。exist_ok (boolean): True の場合、ファイルが既に存在しているときに ValueError を発生させず、replace=True でない限り再ダウンロードしません。デフォルトは False。api (Api, optional): 指定された場合、ファイルをダウンロードするのに使用される Api インスタンス。
Raises
ファイルが既に存在し、replace=False でかつ exist_ok=False の場合に ValueError を発生させます。

snake_to_camel

ソースを表示

snake_to_camel(
    string
)

to_html

ソースを表示

to_html(
    *args, **kwargs
)

9 - インテグレーション

モジュール

keras モジュール: wandbKeras と統合するためのツール。

9.1 - keras

Tools for integrating wandb with Keras.

Classes

class WandbCallback: WandbCallback は keras を wandb と自動的に統合します。

class WandbEvalCallback: モデル予測可視化のために Keras コールバックを作成するための抽象基底クラスです。

class WandbMetricsLogger: システムメトリクスを W&B へ送信するロガー。

class WandbModelCheckpoint: 定期的に Keras モデルまたはモデルの重みを保存するチェックポイント。

9.1.1 - Wandb コールバック

WandbCallback は、keras と wandb を自動的に統合します。

WandbCallback(
    monitor="val_loss", verbose=0, mode="auto", save_weights_only=(False),
    log_weights=(False), log_gradients=(False), save_model=(True),
    training_data=None, validation_data=None, labels=None, predictions=36,
    generator=None, input_type=None, output_type=None, log_evaluation=(False),
    validation_steps=None, class_colors=None, log_batch_frequency=None,
    log_best_prefix="best_", save_graph=(True), validation_indexes=None,
    validation_row_processor=None, prediction_row_processor=None,
    infer_missing_processors=(True), log_evaluation_frequency=0,
    compute_flops=(False), **kwargs
)

例:

model.fit(
    X_train,
    y_train,
    validation_data=(X_test, y_test),
    callbacks=[WandbCallback()],
)

WandbCallback は、keras によって収集されたメトリクスからの履歴データを自動的にログします: 損失および keras_model.compile() に渡されたもの。

WandbCallback は、「最良」のトレーニングステップに関連付けられた run のサマリーメトリクスを設定します。「最良」は monitormode 属性によって定義されます。デフォルトでは、最小の val_loss を持つエポックです。WandbCallback はデフォルトで最良の epoch に関連するモデルを保存します。

WandbCallback は、勾配およびパラメータのヒストグラムをオプションでログすることができます。

WandbCallback は、wandb によるトレーニングおよび検証データの可視化のためにデータを保存することができます。

引数
monitor (str) 監視するメトリックの名前。デフォルトは val_loss です。
mode (str) {auto, min, max} のいずれかです。 min - 監視が最小化されたときにモデルを保存する max - 監視が最大化されたときにモデルを保存する auto - モデルを保存するタイミングを推測しようとする(デフォルト)。
save_model True - 監視がすべての以前のエポックを上回ったときにモデルを保存する False - モデルを保存しない
save_graph (ブール) True の場合、モデルのグラフを wandb に保存する(デフォルトは True)。
save_weights_only (ブール) True の場合、モデルの重みのみが保存されます (model.save_weights(filepath))、そうでなければ、完全なモデルが保存されます (model.save(filepath))。
log_weights (ブール) True の場合、モデルのレイヤの重みのヒストグラムを保存します。
log_gradients (ブール) True の場合、トレーニング勾配のヒストグラムをログします。
training_data (タプル) model.fit に渡される形式 (X,y) と同じ形式です。勾配を計算するために必要です - log_gradientsTrue の場合は必須です。
validation_data (タプル) model.fit に渡される形式 (X,y) と同じ形式です。wandb が可視化するデータセットです。設定されている場合、各エポックで wandb は少数の予測を行い、後で可視化するためにその結果を保存します。画像データを扱っている場合は、正しくログするために input_typeoutput_type を設定して下さい。
generator (ジェネレータ) wandb が可視化するための検証データを返すジェネレータ。このジェネレータは、タプル (X,y) を返す必要があります。wandb が特定のデータ例を可視化するには validate_data またはジェネレータが設定されている必要があります。画像データを扱っている場合は、正しくログするために input_typeoutput_type を設定してください。
validation_steps (int) validation_data がジェネレータの場合、完全な検証セットのためにジェネレータを実行するステップ数。
labels (リスト) あなたのデータを wandb で可視化する場合、このラベルのリストは、数値出力を理解可能な文字列に変換します。多クラス分類器を構築している場合に役立ちます。バイナリ分類器を作成している場合は、2つのラベル [“false のラベル”, “true のラベル”] のリストを渡すことができます。 validate_data とジェネレータが両方 false の場合は何もしません。
predictions (int) 各エポックで可視化のために行う予測の数、最大は 100。
input_type (文字列) 可視化を支援するためのモデルの入力のタイプ。次のいずれかです: (image, images, segmentation_mask, auto)。
output_type (文字列) 可視化を支援するためのモデルの出力のタイプ。次のいずれかです: (image, images, segmentation_mask, label)。
log_evaluation (ブール) True の場合、各エポックで検証データとモデルの予測を含む Table を保存します。詳細は validation_indexesvalidation_row_processor、および output_row_processor を参照してください。
class_colors ([float, float, float]) 入力または出力がセグメンテーションマスクの場合、各クラスの rgb タプル(範囲は 0-1)を含む配列。
log_batch_frequency (整数) None の場合、コールバックは毎エポックでログを記録します。整数に設定すると、コールバックは log_batch_frequency バッチごとにトレーニングメトリクスをログします。
log_best_prefix (文字列) None の場合、追加のサマリーメトリクスは保存されません。文字列に設定すると、監視されているメトリックとエポックがこの値で前置され、サマリーメトリクスとして保存されます。
validation_indexes ([wandb.data_types._TableLinkMixin]) 各検証例に関連付けるインデックスキーの順序付きリスト。 log_evaluation が True で validation_indexes が提供されている場合、検証データの Table は作成されず、各予測は TableLinkMixin によって表される行と関連付けられます。これらのキーを取得する最も一般的な方法は Table.get_index() を使用することで、行キーのリストが返されます。
validation_row_processor (Callable) 検証データに適用する関数で、一般的にはデータを可視化するために使用されます。この関数は ndx (int) と row (dict) を受け取ります。あなたのモデルが単一の入力を持っている場合、row["input"] は行の入力データです。それ以外の場合は、入力スロットの名前に基づいてキー化されます。あなたの fit 関数が単一のターゲットを取る場合、row["target"] は行のターゲットデータです。それ以外の場合は、出力スロットの名前に基づいてキー化されます。例えば、入力データが単一の ndarray であり、データを画像として可視化したい場合、lambda ndx, row: {"img": wandb.Image(row["input"])} をプロセッサとして提供できます。 log_evaluation が False の場合または validation_indexes が存在する場合は無視されます。
output_row_processor (Callable) validation_row_processor と同様ですが、モデルの出力に適用されます。row["output"] はモデル出力の結果を含みます。
infer_missing_processors (bool) validation_row_processor および output_row_processor を欠けている場合に推測するかどうかを決定します。デフォルトは True です。labels が提供されている場合、適切な場合に分類タイプのプロセッサを推測しようとします。
log_evaluation_frequency (int) 評価結果がログされる頻度を決定します。デフォルトは 0 で(トレーニングの最後のみ)、1 に設定すると毎エポック、2 に設定すると隔エポックでログします。 log_evaluation が False の場合、効果はありません。
compute_flops (bool) あなたの Keras Sequential または Functional モデルの FLOPs を GigaFLOPs 単位で計算します。

メソッド

get_flops

ソースを見る

get_flops() -> float

tf.keras.Model または tf.keras.Sequential モデルの推論モードでの FLOPS [GFLOPs] を計算します。

内部では tf.compat.v1.profiler を使用しています。

set_model

ソースを見る

set_model(
    model
)

set_params

ソースを見る

set_params(
    params
)

9.1.2 - WandbEvalCallback

Keras コールバックをモデル予測の可視化用に構築するための抽象基本クラス。

WandbEvalCallback(
    data_table_columns: List[str],
    pred_table_columns: List[str],
    *args,
    **kwargs
) -> None

エポック終了時 (on_epoch_end) にモデル予測を可視化するためのコールバックを構築し、分類、オブジェクト検出、セグメンテーションなどのタスク用に model.fit() に渡すことができます。

これを使用するには、このベースコールバッククラスから継承し、add_ground_truthadd_model_prediction メソッドを実装します。

この基本クラスは以下のことを処理します:

  • 正解をログするための data_table と予測のための pred_table を初期化します。
  • data_table にアップロードされたデータは pred_table の参照として使用されます。これはメモリフットプリントを削減するためです。data_table_ref は参照されたデータにアクセスするために使用できるリストです。以下の例を見て方法を確認してください。
  • W&B にテーブルを W&B Artifacts としてログします。
  • 新しい pred_table はエイリアスとともに新しいバージョンとしてログされます。

例:

class WandbClfEvalCallback(WandbEvalCallback):
    def __init__(self, validation_data, data_table_columns, pred_table_columns):
        super().__init__(data_table_columns, pred_table_columns)

        self.x = validation_data[0]
        self.y = validation_data[1]

    def add_ground_truth(self):
        for idx, (image, label) in enumerate(zip(self.x, self.y)):
            self.data_table.add_data(idx, wandb.Image(image), label)

    def add_model_predictions(self, epoch):
        preds = self.model.predict(self.x, verbose=0)
        preds = tf.argmax(preds, axis=-1)

        data_table_ref = self.data_table_ref
        table_idxs = data_table_ref.get_index()

        for idx in table_idxs:
            pred = preds[idx]
            self.pred_table.add_data(
                epoch,
                data_table_ref.data[idx][0],
                data_table_ref.data[idx][1],
                data_table_ref.data[idx][2],
                pred,
            )


model.fit(
    x,
    y,
    epochs=2,
    validation_data=(x, y),
    callbacks=[
        WandbClfEvalCallback(
            validation_data=(x, y),
            data_table_columns=["idx", "image", "label"],
            pred_table_columns=["epoch", "idx", "image", "label", "pred"],
        )
    ],
)

より詳細に制御したい場合は、on_train_beginon_epoch_end メソッドをオーバーライドできます。N バッチごとにサンプルをログしたい場合は、on_train_batch_end メソッドを実装することができます。

メソッド

add_ground_truth

ソースを表示

@abc.abstractmethod
add_ground_truth(
    logs: Optional[Dict[str, float]] = None
) -> None

正解データを data_table に追加します。

このメソッドを使用して、init_data_table メソッドを使用して初期化された data_table にバリデーション/トレーニングデータを追加するロジックを書きます。

例:

for idx, data in enumerate(dataloader):
    self.data_table.add_data(idx, data)

このメソッドは、on_train_begin または同等のフックで呼び出されます。

add_model_predictions

ソースを表示

@abc.abstractmethod
add_model_predictions(
    epoch: int,
    logs: Optional[Dict[str, float]] = None
) -> None

モデルからの予測を pred_table に追加します。

このメソッドを使用して、init_pred_table メソッドを使用して初期化された pred_table にバリデーション/トレーニングデータのモデル予測を追加するロジックを書きます。

例:

# dataloader がサンプルをシャッフルしていないと仮定します。
for idx, data in enumerate(dataloader):
    preds = model.predict(data)
    self.pred_table.add_data(
        self.data_table_ref.data[idx][0],
        self.data_table_ref.data[idx][1],
        preds,
    )

このメソッドは、on_epoch_end または同等のフックで呼び出されます。

init_data_table

ソースを表示

init_data_table(
    column_names: List[str]
) -> None

バリデーションデータ用の W&B テーブルを初期化します。

このメソッドを on_train_begin または同等のフックで呼び出します。これに続いて、テーブルに行または列ごとにデータを追加します。

引数
column_names (list) W&B テーブルのカラム名です。

init_pred_table

ソースを表示

init_pred_table(
    column_names: List[str]
) -> None

モデルの評価用の W&B テーブルを初期化します。

このメソッドを on_epoch_end または同等のフックで呼び出します。これに続いて、テーブルに行または列ごとにデータを追加します。

引数
column_names (list) W&B テーブルのカラム名です。

log_data_table

ソースを表示

log_data_table(
    name: str = "val",
    type: str = "dataset",
    table_name: str = "val_data"
) -> None

data_table を W&B Artifacts としてログし、use_artifact を呼び出します。

これにより、評価テーブルが既にアップロードされたデータ(画像、テキスト、スカラーなど)の参照を再アップロードせずに使用できます。

引数
name (str) このアーティファクトの人間が読める名前で、UIでこのアーティファクトを識別したり、use_artifact呼び出しで参照したりする方法です。(デフォルトは ‘val’)
type (str) アーティファクトのタイプで、アーティファクトを整理し区別するために使用されます。(デフォルトは ‘dataset’)
table_name (str) UIで表示されるテーブルの名前です。(デフォルトは ‘val_data’)

log_pred_table

ソースを表示

log_pred_table(
    type: str = "evaluation",
    table_name: str = "eval_data",
    aliases: Optional[List[str]] = None
) -> None

モデルの評価用の W&B テーブルをログします。

テーブルは新しいバージョンを作成しながら複数回ログされます。これを使用して、異なる間隔でモデルをインタラクティブに比較します。

引数
type (str) アーティファクトのタイプで、アーティファクトを整理し区別するために使用されます。(デフォルトは ’evaluation’)
table_name (str) UIで表示されるテーブルの名前です。(デフォルトは ’eval_data’)
aliases (List[str]) 予測テーブルのエイリアスのリストです。

set_model

set_model(
    model
)

set_params

set_params(
    params
)

9.1.3 - WandbMetricsLogger

システムメトリクスを W&B に送信するロガー。

WandbMetricsLogger(
    log_freq: Union[LogStrategy, int] = "epoch",
    initial_global_step: int = 0,
    *args,
    **kwargs
) -> None

WandbMetricsLogger は、コールバックメソッドが引数として取る logs 辞書を自動的に wandb にログします。

このコールバックは、次の情報を W&B の run ページに自動的にログします:

  • システム (CPU/GPU/TPU) メトリクス、
  • model.compile で定義されたトレーニングと検証メトリクス、
  • 学習率(固定値または学習率スケジューラのどちらも)

注釈:

initial_epochmodel.fit に渡してトレーニングを再開し、かつ学習率スケジューラを使用している場合、initial_global_stepWandbMetricsLogger に渡すことを確認してください。initial_global_stepstep_size * initial_step であり、ここで step_size はエポックごとのトレーニングステップ数です。step_size はトレーニングデータセットの基数とバッチサイズの積として計算できます。

引数
log_freq (“epoch”, “batch”, または int) “epoch” の場合、各エポックの終了時にメトリクスをログします。“batch” の場合、各バッチの終了時にメトリクスをログします。整数の場合、そのバッチ数の終了時にメトリクスをログします。デフォルトは “epoch” です。
initial_global_step (int) ある initial_epoch からトレーニングを再開し、学習率スケジューラを使用している場合に、学習率を正しくログするためにこの引数を使用します。これは step_size * initial_step として計算できます。デフォルトは 0 です。

メソッド

set_model

set_model(
    model
)

set_params

set_params(
    params
)

9.1.4 - WandbModelCheckpoint

定期的に Keras モデルまたはモデルの重みを保存するチェックポイント。

WandbModelCheckpoint(
    filepath: StrPath,
    monitor: str = "val_loss",
    verbose: int = 0,
    save_best_only: bool = (False),
    save_weights_only: bool = (False),
    mode: Mode = "auto",
    save_freq: Union[SaveStrategy, int] = "epoch",
    initial_value_threshold: Optional[float] = None,
    **kwargs
) -> None

保存された重みは wandb.Artifact として W&B にアップロードされます。

このコールバックは tf.keras.callbacks.ModelCheckpoint からサブクラス化されているため、チェックポイントのロジックは親コールバックによって処理されます。詳細はこちらで学べます: https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/ModelCheckpoint

このコールバックは model.fit() を使用してトレーニングを行い、一定の間隔でモデルや重みを(チェックポイントファイルに)保存するために使用します。モデルのチェックポイントは W&B Artifacts としてログされます。詳細はこちらで学べます: https://docs.wandb.ai/guides/artifacts

このコールバックは次の機能を提供します:

  • 「モニター」に基づいて「最良のパフォーマンス」を達成したモデルを保存します。
  • パフォーマンスに関係なく、各エポックの終わりにモデルを保存します。
  • エポックの終わり、または一定数のトレーニングバッチ後にモデルを保存します。
  • モデルの重みのみを保存するか、全体のモデルを保存します。
  • モデルを SavedModel 形式か .h5 形式で保存します。
引数
filepath (Union[str, os.PathLike]) モデルファイルを保存するパス。filepath には名前付きのフォーマット オプションを含めることができ、これには epoch の値および logs のキー(on_epoch_end で渡される)が埋め込まれます。たとえば、filepathmodel-{epoch:02d}-{val_loss:.2f} の場合、モデルのチェックポイントはエポック番号と検証損失とともにファイル名で保存されます。
monitor (str) 監視するメトリクスの名前。デフォルトは “val_loss”。
verbose (int) 冗長モード、0 または 1。モード 0 は静かで、モード 1 はコールバックがアクションを取るときにメッセージを表示します。
save_best_only (bool) save_best_only=True の場合、モデルが「最良」と見なされたときのみ保存され、監視される量に基づいて最新の最良モデルは上書きされません。filepath{epoch} などのフォーマット オプションが含まれていない場合、filepath はローカルで新しいより良いモデルによって上書きされます。アーティファクトとしてログされたモデルは、依然として正しい monitor と関連付けられます。アーティファクトは継続的にアップロードされ、新しい最良のモデルが見つかると個別にバージョン管理されます。
save_weights_only (bool) True の場合、モデルの重みのみが保存されます。
mode (Mode) {‘auto’, ‘min’, ‘max’} のいずれか。val_acc に対しては maxval_loss に対しては min など。
save_freq (Union[SaveStrategy, int]) epoch または整数。'epoch' を使用する場合、コールバックは各エポックの後にモデルを保存します。整数を使用する場合、コールバックはこのバッチ数の終わりにモデルを保存します。val_accval_loss などの検証メトリクスを監視する場合、save_freq は「epoch」に設定する必要があります。これらのメトリクスはエポックの終わりにのみ利用可能だからです。
initial_value_threshold (Optional[float]) 監視されるメトリクスの浮動小数点数の初期「最良」値。
属性

メソッド

set_model

set_model(
    model
)

set_params

set_params(
    params
)

10 - エージェント

1つまたは複数の sweep agent を開始します。

agent(
    sweep_id: str,
    function: Optional[Callable] = None,
    entity: Optional[str] = None,
    project: Optional[str] = None,
    count: Optional[int] = None
) -> None

sweep agent は sweep_id を使用して、どの sweep の一部であるか、どの関数を実行するか、そして(オプションで)いくつのエージェントを実行するかを知ります。

Args
sweep_id sweep のユニークな識別子。sweep ID は W&B CLI または Python SDK によって生成されます。
function sweep 設定で指定された「プログラム」の代わりに呼び出す関数。
entity sweep によって作成された W&B run を送信するユーザー名またはチーム名。指定する entity が既に存在することを確認してください。entity を指定しない場合、run は通常、ユーザー名であるデフォルトの entity に送信されます。
project sweep から作成された W&B run が送信されるプロジェクトの名前。プロジェクトが指定されていない場合、run は「Uncategorized」とラベル付けされたプロジェクトに送信されます。
count 試す sweep 設定のトライアル数。

11 - データタイプ

このモジュールは、W&B にリッチでインタラクティブな可視化をログするためのデータ型を定義します。

データ型には、画像、オーディオ、ビデオなどの一般的なメディアタイプや、テーブルや HTML などの情報を柔軟に格納するコンテナが含まれます。

メディアのログの詳細については、ガイドをご覧ください。

インタラクティブな データセット と モデル分析 のための構造化データのログの詳細については、W&B Tables のガイドをご覧ください。

これらの特別なデータ型はすべて WBValue のサブクラスです。すべてのデータ型は JSON にシリアライズされます。wandb はこれを使用して オブジェクト をローカルに保存し、W&B サーバー にアップロードします。

クラス

class Audio: オーディオクリップ用の Wandb クラス。

class BoundingBoxes2D: 画像を 2D バウンディングボックスオーバーレイでフォーマットし、W&Bにログします。

class Graph: グラフ用の Wandb クラス。

class Histogram: ヒストグラム用の wandb クラス。

class Html: 任意の html 用の Wandb クラス。

class Image: 画像をフォーマットして W&Bにログします。

class ImageMask: 画像マスクやオーバーレイをフォーマットし、W&Bにログします。

class Molecule: 3D 分子データ用の Wandb クラス。

class Object3D: 3D ポイントクラウド用の Wandb クラス。

class Plotly: plotly プロット用の Wandb クラス。

class Table: 表形式のデータを表示および分析するための Table クラス。

class Video: ビデオをフォーマットして W&Bにログします。

class WBTraceTree: トレースツリーデータのためのメディアオブジェクト。

11.1 - BoundingBoxes2D

W&B に ログ するために 2D バウンディング ボックス オーバーレイを使用して画像をフォーマットします。

BoundingBoxes2D(
    val: dict,
    key: str
) -> None
引数
val (辞書) 以下の形式の辞書: box_data: (辞書のリスト) 各バウンディングボックスに対して 1 つの辞書を含む: position: (辞書) 2 つの形式のいずれかでバウンディングボックスの位置とサイズを指定します。ボックスが同じ形式を使用する必要はないことに注意してください。 {“minX”, “minY”, “maxX”, “maxY”}: (辞書) ボックスの上限と下限を定義する座標のセット (左下と右上のコーナー) {“middle”, “width”, “height”}: (辞書) 中心点のリスト [x, y] としての “middle”、および数値としての “width” と “height” のボックスの中心と寸法を定義する座標のセット domain: (文字列) バウンディング ボックス座標ドメインの 2 つのオプション null: デフォルトでは、または引数が渡されない場合、座標ドメインは元の画像に対して相対的であると見なされ、このボックスを元の画像の分数またはパーセンテージとして表します。これは、「position」引数に渡されるすべての座標と寸法が 0 から 1 までの浮動小数点数であることを意味します。 “pixel”: (文字列リテラル) 座標ドメインはピクセル空間に設定されます。これは、“position” 引数に渡されるすべての座標と寸法が画像寸法の範囲内の整数であることを意味します。 class_id: (整数) このボックスのクラスラベル id scores: (文字列から数値への辞書, オプション) 名前付きフィールドを数値 (float または int) にマッピングしたもので、対応するフィルター範囲内で UI 内のボックスをフィルタリングするために使用できます フィールド box_caption: (文字列, オプション) UI でこのボックスの上のラベルテキストとして表示される文字列、クラスラベル、クラス名、および/またはスコアで構成されることがよくあります class_labels: (辞書, オプション) 読み取り可能なクラス名への整数クラスラベルのマップ
key (文字列) このバウンディングボックスのセットの読み取り可能な名前または ID (例: 予測, ground_truth)

例:

単一の画像に対するバウンディングボックスをログする

import numpy as np
import wandb

run = wandb.init()
image = np.random.randint(low=0, high=256, size=(200, 300, 3))

class_labels = {0: "person", 1: "car", 2: "road", 3: "building"}

img = wandb.Image(
    image,
    boxes={
        "predictions": {
            "box_data": [
                {
                    # デフォルトの相対/比率ドメインで表現された 1 つのボックス
                    "position": {
                        "minX": 0.1,
                        "maxX": 0.2,
                        "minY": 0.3,
                        "maxY": 0.4,
                    },
                    "class_id": 1,
                    "box_caption": class_labels[1],
                    "scores": {"acc": 0.2, "loss": 1.2},
                },
                {
                    # ピクセルドメインで表現された別のボックス
                    "position": {
                        "middle": [150, 20],
                        "width": 68,
                        "height": 112,
                    },
                    "domain": "pixel",
                    "class_id": 3,
                    "box_caption": "a building",
                    "scores": {"acc": 0.5, "loss": 0.7},
                },
                # 必要に応じてログに記録するボックスを追加
            ],
            "class_labels": class_labels,
        }
    },
)

run.log({"driving_scene": img})

テーブルにバウンディングボックスオーバーレイをログする

import numpy as np
import wandb

run = wandb.init()
image = np.random.randint(low=0, high=256, size=(200, 300, 3))

class_labels = {0: "person", 1: "car", 2: "road", 3: "building"}

class_set = wandb.Classes(
    [
        {"name": "person", "id": 0},
        {"name": "car", "id": 1},
        {"name": "road", "id": 2},
        {"name": "building", "id": 3},
    ]
)

img = wandb.Image(
    image,
    boxes={
        "predictions": {
            "box_data": [
                {
                    # デフォルトの相対/比率ドメインで表現された 1 つのボックス
                    "position": {
                        "minX": 0.1,
                        "maxX": 0.2,
                        "minY": 0.3,
                        "maxY": 0.4,
                    },
                    "class_id": 1,
                    "box_caption": class_labels[1],
                    "scores": {"acc": 0.2, "loss": 1.2},
                },
                {
                    # ピクセルドメインで表現された別のボックス
                    "position": {
                        "middle": [150, 20],
                        "width": 68,
                        "height": 112,
                    },
                    "domain": "pixel",
                    "class_id": 3,
                    "box_caption": "a building",
                    "scores": {"acc": 0.5, "loss": 0.7},
                },
                # 必要に応じてログに記録するボックスを追加
            ],
            "class_labels": class_labels,
        }
    },
    classes=class_set,
)

table = wandb.Table(columns=["image"])
table.add_data(img)
run.log({"driving_scene": table})

メソッド

type_name

ソースを表示

@classmethod
type_name() -> str

validate

ソースを表示

validate(
    val: dict
) -> bool

11.2 - I'm sorry, it seems like there is no text to translate. Please provide the content you want to be translated.

任意の HTML 用の Wandb クラス。

Html(
    data: Union[str, 'TextIO'],
    inject: bool = (True)
) -> None
Args
data (string または io オブジェクト) wandb に表示する HTML
inject (boolean) HTML オブジェクトにスタイルシートを追加します。False に設定すると、HTML は変更されずに通過します。

メソッド

inject_head

ソースを表示

inject_head() -> None

11.3 - ImageMask

画像マスクまたはオーバーレイを W&B にログとして記録するためにフォーマットします。

ImageMask(
    val: dict,
    key: str
) -> None
Args
val (辞書) 画像を表すための以下の2つのキーのうちの1つを指定: mask_data : (2D numpy 配列) 画像内の各ピクセルに対する整数クラスラベルが含まれるマスク path : (文字列) マスクの保存された画像ファイルのパス class_labels : (整数から文字列への辞書, オプション) マスク内の整数クラスラベルを人間が読めるクラス名にマッピングします。デフォルトでは class_0, class_1, class_2 などになります。
key (文字列) このマスクの種類に対する読みやすい名前または ID (例: predictions, ground_truth)

例:

単一のマスクされた画像をログに記録

import numpy as np
import wandb

run = wandb.init()
image = np.random.randint(low=0, high=256, size=(100, 100, 3), dtype=np.uint8)
predicted_mask = np.empty((100, 100), dtype=np.uint8)
ground_truth_mask = np.empty((100, 100), dtype=np.uint8)

predicted_mask[:50, :50] = 0
predicted_mask[50:, :50] = 1
predicted_mask[:50, 50:] = 2
predicted_mask[50:, 50:] = 3

ground_truth_mask[:25, :25] = 0
ground_truth_mask[25:, :25] = 1
ground_truth_mask[:25, 25:] = 2
ground_truth_mask[25:, 25:] = 3

class_labels = {0: "person", 1: "tree", 2: "car", 3: "road"}

masked_image = wandb.Image(
    image,
    masks={
        "predictions": {
            "mask_data": predicted_mask,
            "class_labels": class_labels,
        },
        "ground_truth": {
            "mask_data": ground_truth_mask,
            "class_labels": class_labels,
        },
    },
)
run.log({"img_with_masks": masked_image})

テーブル内にマスクされた画像をログに記録する

import numpy as np
import wandb

run = wandb.init()
image = np.random.randint(low=0, high=256, size=(100, 100, 3), dtype=np.uint8)
predicted_mask = np.empty((100, 100), dtype=np.uint8)
ground_truth_mask = np.empty((100, 100), dtype=np.uint8)

predicted_mask[:50, :50] = 0
predicted_mask[50:, :50] = 1
predicted_mask[:50, 50:] = 2
predicted_mask[50:, 50:] = 3

ground_truth_mask[:25, :25] = 0
ground_truth_mask[25:, :25] = 1
ground_truth_mask[:25, 25:] = 2
ground_truth_mask[25:, 25:] = 3

class_labels = {0: "person", 1: "tree", 2: "car", 3: "road"}

class_set = wandb.Classes(
    [
        {"name": "person", "id": 0},
        {"name": "tree", "id": 1},
        {"name": "car", "id": 2},
        {"name": "road", "id": 3},
    ]
)

masked_image = wandb.Image(
    image,
    masks={
        "predictions": {
            "mask_data": predicted_mask,
            "class_labels": class_labels,
        },
        "ground_truth": {
            "mask_data": ground_truth_mask,
            "class_labels": class_labels,
        },
    },
    classes=class_set,
)

table = wandb.Table(columns=["image"])
table.add_data(masked_image)
run.log({"random_field": table})

メソッド

type_name

ソースを表示

@classmethod
type_name() -> str

validate

ソースを表示

validate(
    val: dict
) -> bool

11.4 - Molecule

Wandb クラスは 3D 分子データ用です。

Molecule(
    data_or_path: Union[str, 'TextIO'],
    caption: Optional[str] = None,
    **kwargs
) -> None
Args
data_or_path (string, io) Molecule はファイル名または io オブジェクトから初期化できます。
caption (string) 表示用の分子に関連付けられたキャプション。

メソッド

from_rdkit

ソースを表示

@classmethod
from_rdkit(
    data_or_path: "RDKitDataType",
    caption: Optional[str] = None,
    convert_to_3d_and_optimize: bool = (True),
    mmff_optimize_molecule_max_iterations: int = 200
) -> "Molecule"

RDKit がサポートするファイル/オブジェクトタイプを wandb.Molecule に変換します。

Args
data_or_path (string, rdkit.Chem.rdchem.Mol) Molecule はファイル名または rdkit.Chem.rdchem.Mol オブジェクトから初期化できます。
caption (string) 表示用の分子に関連付けられたキャプション。
convert_to_3d_and_optimize (bool) 3D 座標を持つ rdkit.Chem.rdchem.Mol に変換します。これは複雑な分子の場合、時間がかかるため、高価な操作です。
mmff_optimize_molecule_max_iterations (int) rdkit.Chem.AllChem.MMFFOptimizeMolecule で使用する反復回数

from_smiles

ソースを表示

@classmethod
from_smiles(
    data: str,
    caption: Optional[str] = None,
    sanitize: bool = (True),
    convert_to_3d_and_optimize: bool = (True),
    mmff_optimize_molecule_max_iterations: int = 200
) -> "Molecule"

SMILES 文字列を wandb.Molecule に変換します。

Args
data (string) SMILES 文字列。
caption (string) 表示用の分子に関連付けられたキャプション
sanitize (bool) RDKit の定義により、分子が化学的に妥当かどうかをチェックします。
convert_to_3d_and_optimize (bool) 3D 座標で rdkit.Chem.rdchem.Mol に変換します。複雑な分子の場合、時間がかかるため、高価な操作です。
mmff_optimize_molecule_max_iterations (int) rdkit.Chem.AllChem.MMFFOptimizeMolecule で使用する反復回数
クラス変数
SUPPORTED_RDKIT_TYPES
SUPPORTED_TYPES

11.5 - Object3D

3DポイントクラウドのためのWandbクラス。

Object3D(
    data_or_path: Union['np.ndarray', str, 'TextIO', dict],
    **kwargs
) -> None
引数
data_or_path (numpy array, string, io) Object3Dはファイルまたはnumpy配列から初期化できます。ファイルへのパスまたはio オブジェクトと SUPPORTED_TYPES のいずれかである必要がある file_type を渡すことができます。

numpy 配列の形状は次のいずれかでなければなりません:

[[x y z],       ...] nx3
[[x y z c],     ...] nx4 ここで c は[1, 14] の範囲内のカテゴリです
[[x y z r g b], ...] nx6 ここで rgb は色です

メソッド

from_file

ソースを表示

@classmethod
from_file(
    data_or_path: Union['TextIO', str],
    file_type: Optional['FileFormat3D'] = None
) -> "Object3D"

ファイルまたはストリームから Object3D を初期化します。

引数
data_or_path (Union[“TextIO”, str]): ファイルへのパスまたは TextIO ストリーム。file_type (str): data_or_path に渡されるデータ形式を指定します。 data_or_pathTextIO ストリームである場合は必須です。ファイルパスが提供されている場合はこのパラメータは無視されます。タイプはファイル拡張子から取得されます。

from_numpy

ソースを表示

@classmethod
from_numpy(
    data: "np.ndarray"
) -> "Object3D"

numpy 配列から Object3D を初期化します。

引数
data (numpy array): 配列の各エントリはポイントクラウドの1ポイントを表します。

numpy 配列の形状は次のいずれかでなければなりません:

[[x y z],       ...]  # nx3.
[[x y z c],     ...]  # nx4 ここで c は [1, 14] の範囲内のカテゴリです。
[[x y z r g b], ...]  # nx6 ここで rgb は色です。

from_point_cloud

ソースを表示

@classmethod
from_point_cloud(
    points: Sequence['Point'],
    boxes: Sequence['Box3D'],
    vectors: Optional[Sequence['Vector3D']] = None,
    point_cloud_type: "PointCloudType" = "lidar/beta"
) -> "Object3D"

Python オブジェクトから Object3D を初期化します。

引数
points (Sequence[“Point”]): ポイントクラウドの点。boxes (Sequence[“Box3D”]): ポイントクラウドのラベル付け用3Dバウンディングボックス。ボックスはポイントクラウドの可視化で表示されます。vectors (Optional[Sequence[“Vector3D”]]): 各ベクトルはポイントクラウドの可視化で表示されます。バウンディングボックスの方向性を示すために使用できます。デフォルトは None です。point_cloud_type (“lidar/beta”): 現時点では「lidar/beta」タイプのみサポートしています。デフォルトは「lidar/beta」です。
クラス変数
SUPPORTED_POINT_CLOUD_TYPES
SUPPORTED_TYPES

11.6 - Plotly

Wandb クラスは plotly のプロット用です。

Plotly(
    val: Union['plotly.Figure', 'matplotlib.artist.Artist']
)
Arg
val matplotlib または plotly の図

メソッド

make_plot_media

ソースを表示

@classmethod
make_plot_media(
    val: Union['plotly.Figure', 'matplotlib.artist.Artist']
) -> Union[Image, 'Plotly']

11.7 - WBTraceツリー

トレース ツリー データのためのメディア オブジェクト。

WBTraceTree(
    root_span: Span,
    model_dict: typing.Optional[dict] = None
)
Args
root_span (Span): トレース ツリーのルート スパン。 model_dict (dict, optional): モデル ダンプを含む辞書。 注: model_dict は完全にユーザー定義の辞書です。 UI はこの辞書の JSON ビューアをレンダリングし、_kind キーを持つ辞書に対して特別な処理を行います。これは、モデル ベンダが非常に異なるシリアル化形式を持っているため、ここでは柔軟である必要があるからです。

11.8 - イメージ

W&B に画像をログするためのフォーマット。

Image(
    data_or_path: "ImageDataOrPathType",
    mode: Optional[str] = None,
    caption: Optional[str] = None,
    grouping: Optional[int] = None,
    classes: Optional[Union['Classes', Sequence[dict]]] = None,
    boxes: Optional[Union[Dict[str, 'BoundingBoxes2D'], Dict[str, dict]]] = None,
    masks: Optional[Union[Dict[str, 'ImageMask'], Dict[str, dict]]] = None,
    file_type: Optional[str] = None
) -> None
Args
data_or_path (numpy array, string, io) 画像データの numpy 配列または PIL 画像を受け付けます。クラスはデータフォーマットを推測して変換します。
mode (string) 画像のための PIL モード。最も一般的なのは “L”, “RGB”, “RGBA” です。詳しくは https://pillow.readthedocs.io/en/stable/handbook/concepts.html#modes を参照してください。
caption (string) 画像表示用のラベル。

注意 : wandb.Image として torch.Tensor をログする際、画像は正規化されます。画像を正規化したくない場合は、テンソルを PIL Image に変換してください。

例:

numpy 配列から wandb.Image を作成

import numpy as np
import wandb

with wandb.init() as run:
    examples = []
    for i in range(3):
        pixels = np.random.randint(low=0, high=256, size=(100, 100, 3))
        image = wandb.Image(pixels, caption=f"random field {i}")
        examples.append(image)
    run.log({"examples": examples})

PILImage から wandb.Image を作成

import numpy as np
from PIL import Image as PILImage
import wandb

with wandb.init() as run:
    examples = []
    for i in range(3):
        pixels = np.random.randint(
            low=0, high=256, size=(100, 100, 3), dtype=np.uint8
        )
        pil_image = PILImage.fromarray(pixels, mode="RGB")
        image = wandb.Image(pil_image, caption=f"random field {i}")
        examples.append(image)
    run.log({"examples": examples})

.png (デフォルト) ではなく .jpg をログ

import numpy as np
import wandb

with wandb.init() as run:
    examples = []
    for i in range(3):
        pixels = np.random.randint(low=0, high=256, size=(100, 100, 3))
        image = wandb.Image(pixels, caption=f"random field {i}", file_type="jpg")
        examples.append(image)
    run.log({"examples": examples})
Attributes

メソッド

all_boxes

View source

@classmethod
all_boxes(
    images: Sequence['Image'],
    run: "LocalRun",
    run_key: str,
    step: Union[int, str]
) -> Union[List[Optional[dict]], bool]

all_captions

View source

@classmethod
all_captions(
    images: Sequence['Media']
) -> Union[bool, Sequence[Optional[str]]]

all_masks

View source

@classmethod
all_masks(
    images: Sequence['Image'],
    run: "LocalRun",
    run_key: str,
    step: Union[int, str]
) -> Union[List[Optional[dict]], bool]

guess_mode

View source

guess_mode(
    data: "np.ndarray"
) -> str

np.array が表している画像の種類を推測します。

to_uint8

View source

@classmethod
to_uint8(
    data: "np.ndarray"
) -> "np.ndarray"

画像データを uint8 に変換します。

範囲 [0,1] の浮動小数点画像と範囲 [0,255] の整数画像を必要に応じてクリッピングして uint8 に変換します。

クラス変数
MAX_DIMENSION 65500
MAX_ITEMS 108

11.9 - テーブル

Table クラスは表形式のデータを表示および分析するために使用されます。

Table(
    columns=None, data=None, rows=None, dataframe=None, dtype=None, optional=(True),
    allow_mixed_types=(False)
)

従来のスプレッドシートとは異なり、Tables は多くの種類のデータをサポートしています: スカラー値、文字列、numpy 配列、および wandb.data_types.Media のほとんどのサブクラス。 これにより、ImagesVideoAudio、および他の種類のリッチで注釈のあるメディアを 従来のスカラー値と並べて Tables に直接埋め込むことができます。

このクラスは、UI の Table Visualizer を生成するために使用される主要なクラスです: https://docs.wandb.ai/guides/data-vis/tables.

引数
columns (List[str]) テーブル内の列の名前。デフォルトは[“Input”, “Output”, “Expected”]です。
data (List[List[any]]) 2D 行指向の配列。
dataframe (pandas.DataFrame) テーブルの作成に使用される DataFrame オブジェクト。設定されている場合、datacolumns 引数は無視されます。
optional (Union[bool,List[bool]]) None の値を許可するかどうかを決定します。デフォルトは True です - 単一の bool 値が指定された場合、構築時に指定されたすべての列において任意性が確保されます - bool 値のリストである場合、各列に適用される任意性が適用されます - columns と同じ長さでなければなりません。bool 値のリストはそれぞれの列に適用されます。
allow_mixed_types (bool) 列に混合タイプを許可するかどうかを決定します(タイプ検証を無効にします)。デフォルトは False です。

メソッド

add_column

ソースを表示

add_column(
    name, data, optional=(False)
)

テーブルにデータ列を追加します。

引数
name (str) - 列の一意の名前
data (list
optional (bool) - null 値が許可されるかどうか

add_computed_columns

ソースを表示

add_computed_columns(
    fn
)

既存のデータに基づいて1つ以上の計算列を追加します。

引数
fn ndx(int)および row(dict)という1つまたは2つのパラメータを受け取り、新しい列のキーを新しい列名として指定した辞書を返す関数です。ndx は行のインデックスを示す整数です。include_ndxTrue に設定されている場合にのみ含まれます。row は既存の列にキー付けされた辞書です。

add_data

ソースを表示

add_data(
    *data
)

テーブルに新しいデータ行を追加します。テーブル内の最大行数は wandb.Table.MAX_ARTIFACT_ROWS によって決定されます。

データの長さはテーブル列の長さと一致する必要があります。

add_row

ソースを表示

add_row(
    *row
)

非推奨; 代わりに add_data を使用してください。

cast

ソースを表示

cast(
    col_name, dtype, optional=(False)
)

列を特定のデータ型にキャストします。

これは通常の Python クラスの1つである場合もあれば、内部の W&B タイプの1つであり、例えば wandb.Image や wandb.Classes のインスタンスのようなサンプルオブジェクトである場合もあります。

引数
col_name (str) - キャストする列の名前。
dtype (class, wandb.wandb_sdk.interface._dtypes.Type, any) - 目的の dtype。
optional (bool) - 列に None を許可するかどうか。

get_column

ソースを表示

get_column(
    name, convert_to=None
)

テーブルから列を取得し、オプションで NumPy オブジェクトに変換します。

引数
name (str) - 列の名前
convert_to (str, optional) - “numpy”: 基礎となるデータを numpy オブジェクトに変換します

get_dataframe

ソースを表示

get_dataframe()

テーブルの pandas.DataFrame を返します。

get_index

ソースを表示

get_index()

リンクを作成するために他のテーブルで使用する行インデックスの配列を返します。

index_ref

ソースを表示

index_ref(
    index
)

テーブル内の行のインデックスの参照を取得します。

iterrows

ソースを表示

iterrows()

行ごとにテーブルデータを返し、行のインデックスと関連するデータを表示します。

Yields

index : int
行のインデックス。この値を他の W&B テーブルで使用することで、テーブル間の関係が自動的に構築されます
row : List[any]
行のデータ。

set_fk

ソースを表示

set_fk(
    col_name, table, table_col
)

set_pk

ソースを表示

set_pk(
    col_name
)
クラス変数
MAX_ARTIFACT_ROWS 200000
MAX_ROWS 10000

11.10 - オーディオ

オーディオクリップ用の Wandb クラス。

Audio(
    data_or_path, sample_rate=None, caption=None
)
Args
data_or_path (string または numpy array) オーディオファイルへのパス、またはオーディオデータの numpy 配列。
sample_rate (int) サンプルレート、生の numpy 配列のオーディオデータを渡す場合に必要。
caption (string) オーディオと一緒に表示するキャプション。

メソッド

durations

ソースを見る

@classmethod
durations(
    audio_list
)

resolve_ref

ソースを見る

resolve_ref()

sample_rates

ソースを見る

@classmethod
sample_rates(
    audio_list
)

11.11 - グラフ

グラフ用の Wandb クラス。

Graph(
    format="keras"
)

このクラスは通常、ニューラルネットモデルを保存し表示するために使用されます。ツリーをノードとエッジの配列として表現します。ノードには、wandb で可視化できるラベルを持たせることができます。

例:

Keras モデルをインポート:

Graph.from_keras(keras_model)

メソッド

add_edge

ソースを見る

add_edge(
    from_node, to_node
)

add_node

ソースを見る

add_node(
    node=None, **node_kwargs
)

from_keras

ソースを見る

@classmethod
from_keras(
    model
)

pprint

ソースを見る

pprint()

__getitem__

ソースを見る

__getitem__(
    nid
)

11.12 - ヒストグラム

wandb のヒストグラム用クラス。

Histogram(
    sequence: Optional[Sequence] = None,
    np_histogram: Optional['NumpyHistogram'] = None,
    num_bins: int = 64
) -> None

このオブジェクトは numpy のヒストグラム関数と同様に動作します。 https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html

例:

シーケンスからヒストグラムを生成

wandb.Histogram([1, 2, 3])

np.histogram から効率的に初期化。

hist = np.histogram(data)
wandb.Histogram(np_histogram=hist)
Args
sequence (array_like) ヒストグラムの入力データ
np_histogram (numpy histogram) あらかじめ計算されたヒストグラムの代替入力
num_bins (int) ヒストグラムのビンの数。デフォルトのビンの数は 64 です。ビンの最大数は 512 です
Attributes
bins ([float]) ビンの境界
histogram ([int]) 各ビンに入る要素の数
Class Variables
MAX_LENGTH 512

11.13 - ビデオ

W&B にログするためのビデオをフォーマットします。

Video(
    data_or_path: Union['np.ndarray', str, 'TextIO', 'BytesIO'],
    caption: Optional[str] = None,
    fps: Optional[int] = None,
    format: Optional[str] = None
)
引数
data_or_path (numpy array, string, io) ビデオはファイルへのパスまたは io オブジェクトで初期化できます。フォーマットは “gif”, “mp4”, “webm”, “ogg” のいずれかでなければなりません。フォーマットは format 引数で指定する必要があります。ビデオは numpy テンソルでも初期化できます。numpy テンソルは 4次元または 5次元でなければなりません。チャンネルは (time, channel, height, width) または (batch, time, channel, height, width) であるべきです。
caption (string) ビデオに関連付けられたキャプション(表示用)
fps (int) 生のビデオフレームをエンコードする際のフレームレート。デフォルト値は 4 です。このパラメータは data_or_path が string または bytes の場合には影響しません。
format (string) ビデオのフォーマット。パスまたは io オブジェクトで初期化する場合に必要です。

例:

numpy 配列をビデオとしてログする

import numpy as np
import wandb

run = wandb.init()
# 軸は (time, channel, height, width)
frames = np.random.randint(low=0, high=256, size=(10, 3, 100, 100), dtype=np.uint8)
run.log({"video": wandb.Video(frames, fps=4)})

メソッド

encode

ソースを見る

encode(
    fps: int = 4
) -> None
クラス変数
EXTS

12 - コントローラ

パブリック sweep コントローラのコンストラクタ。

controller(
    sweep_id_or_config: Optional[Union[str, Dict]] = None,
    entity: Optional[str] = None,
    project: Optional[str] = None
) -> "_WandbController"

使用例:

import wandb

tuner = wandb.controller(...)
print(tuner.sweep_config)
print(tuner.sweep_id)
tuner.configure_search(...)
tuner.configure_stopping(...)

13 - ログ

run データをアップロードします。

log(
    data: dict[str, Any],
    step: (int | None) = None,
    commit: (bool | None) = None,
    sync: (bool | None) = None
) -> None

log を使用して、スカラー、画像、ビデオ、ヒストグラム、プロット、テーブルなど、run からデータをログします。

ライブ例、コードスニペット、ベストプラクティスなどについては、ロギングのガイドをご覧ください。

最も基本的な使用法は run.log({"train-loss": 0.5, "accuracy": 0.9}) です。これにより、損失と精度が run の履歴に保存され、これらのメトリクスの要約値が更新されます。

wandb.ai のワークスペースでログデータを視覚化するか、W&B アプリのセルフホストインスタンスでローカルに視覚化するか、または API を使用してローカルでデータをエクスポートして視覚化および探索します。

ログされた値はスカラーである必要はありません。任意の wandb オブジェクトのログがサポートされています。たとえば、run.log({"example": wandb.Image("myimage.jpg")}) は例の画像をログし、W&B UI で美しく表示されます。サポートされるすべての異なるタイプについては、参照ドキュメントまたは ロギングのガイドをチェックしてみてください。3D 分子構造やセグメンテーションマスクから PR 曲線やヒストグラムまでの例を見ることができます。構造化データをログするには wandb.Table を使用できます。詳細はテーブルのロギングガイドを参照してください。

W&B UI は、名前にフォワードスラッシュ (/) が含まれるメトリクスを、最後のスラッシュの前のテキストを使用して名前付けされたセクションに整理します。たとえば、次の例では、「train」と「validate」という2つのセクションが作成されます:

run.log(
    {
        "train/accuracy": 0.9,
        "train/loss": 30,
        "validate/accuracy": 0.8,
        "validate/loss": 20,
    }
)

ネストは1レベルのみサポートされています。run.log({"a/b/c": 1}) は「a/b」という名前のセクションを生成します。

run.log は、1 秒間に数回以上呼び出されることを意図していません。最適なパフォーマンスのために、ログを N 回の反復ごとに 1 回に制限するか、複数の反復にわたってデータを収集し、単一のステップでログを行うようにしてください。

W&B ステップ

基本的な使用法では、log を呼び出すたびに新しい「ステップ」が作成されます。ステップは常に増加しなければならず、以前のステップにログすることはできません。

チャートで任意のメトリックを X 軸として使用できることに注意してください。多くの場合、W&B ステップをタイムスタンプではなくトレーニングステップのように扱った方が良い場合があります。

# 例: X 軸として使用するために "epoch" メトリックをログします。
run.log({"epoch": 40, "train-loss": 0.5})

define_metric も参照してください。

stepcommit パラメータを使用して、同じステップにログするために複数の log 呼び出しを使用することができます。以下の例はすべて同等です:

# 通常の使用法:
run.log({"train-loss": 0.5, "accuracy": 0.8})
run.log({"train-loss": 0.4, "accuracy": 0.9})

# 自動インクリメントなしの暗黙的なステップ:
run.log({"train-loss": 0.5}, commit=False)
run.log({"accuracy": 0.8})
run.log({"train-loss": 0.4}, commit=False)
run.log({"accuracy": 0.9})

# 明示的なステップ:
run.log({"train-loss": 0.5}, step=current_step)
run.log({"accuracy": 0.8}, step=current_step)
current_step += 1
run.log({"train-loss": 0.4}, step=current_step)
run.log({"accuracy": 0.9}, step=current_step)
引数
data str キーと直列化可能な Python オブジェクトを含む dict。これには、intfloatstring、任意の wandb.data_types、直列化可能な Python オブジェクトのリスト、タプル、NumPy 配列、同じ構造の他の dict が含まれます。
step ログするステップ番号。None の場合、暗黙的な自動インクリメントステップが使用されます。説明の中の注釈を参照してください。
commit true の場合、ステップを確定してアップロードします。false の場合は、ステップのデータを蓄積します。説明の中の注釈を参照してください。stepNone の場合、デフォルトは commit=True です。それ以外の場合、デフォルトは commit=False です。
sync この引数は廃止されており、何もしません。

例:

より多くの詳細な例については、ロギングのガイドを参照してください。

基本的な使用法

import wandb

with wandb.init() as run:
    run.log({"accuracy": 0.9, "epoch": 5})

インクリメンタルロギング

import wandb

with wandb.init() as run:
    run.log({"loss": 0.2}, commit=False)
    # 別の場所で、このステップを報告する準備ができたとき:
    run.log({"accuracy": 0.8})

ヒストグラム

import numpy as np
import wandb

# 正規分布からランダムに勾配をサンプリングします
gradients = np.random.randn(100, 100)
with wandb.init() as run:
    run.log({"gradients": wandb.Histogram(gradients)})

NumPy の画像

import numpy as np
import wandb

with wandb.init() as run:
    examples = []
    for i in range(3):
        pixels = np.random.randint(low=0, high=256, size=(100, 100, 3))
        image = wandb.Image(pixels, caption=f"random field {i}")
        examples.append(image)
    run.log({"examples": examples})

PIL の画像

import numpy as np
from PIL import Image as PILImage
import wandb

with wandb.init() as run:
    examples = []
    for i in range(3):
        pixels = np.random.randint(
            low=0,
            high=256,
            size=(100, 100, 3),
            dtype=np.uint8,
        )
        pil_image = PILImage.fromarray(pixels, mode="RGB")
        image = wandb.Image(pil_image, caption=f"random field {i}")
        examples.append(image)
    run.log({"examples": examples})

NumPy のビデオ

import numpy as np
import wandb

with wandb.init() as run:
    # 軸は (time, channel, height, width)
    frames = np.random.randint(
        low=0,
        high=256,
        size=(10, 3, 100, 100),
        dtype=np.uint8,
    )
    run.log({"video": wandb.Video(frames, fps=4)})

Matplotlib プロット

from matplotlib import pyplot as plt
import numpy as np
import wandb

with wandb.init() as run:
    fig, ax = plt.subplots()
    x = np.linspace(0, 10)
    y = x * x
    ax.plot(x, y)  # プロット y = x^2
    run.log({"chart": fig})

PR カーブ

import wandb

with wandb.init() as run:
    run.log({"pr": wandb.plot.pr_curve(y_test, y_probas, labels)})

3D オブジェクト

import wandb

with wandb.init() as run:
    run.log(
        {
            "generated_samples": [
                wandb.Object3D(open("sample.obj")),
                wandb.Object3D(open("sample.gltf")),
                wandb.Object3D(open("sample.glb")),
            ]
        }
    )
例外
wandb.Error wandb.init の前に呼び出された場合
ValueError 無効なデータが渡された場合

14 - ログイン

W&B のログイン資格情報を設定します。

login(
    anonymous: Optional[Literal['must', 'allow', 'never']] = None,
    key: Optional[str] = None,
    relogin: Optional[bool] = None,
    host: Optional[str] = None,
    force: Optional[bool] = None,
    timeout: Optional[int] = None,
    verify: bool = (False)
) -> bool

デフォルトでは、資格情報は W&B サーバーに確認せずにローカルにのみ保存されます。資格情報を確認するには verify=True を指定してください。

Args
anonymous (string, optional) “must”、“allow”、または “never” のいずれかです。“must” に設定すると、常に匿名でユーザーをログインさせます。“allow” に設定すると、ユーザーが既にログインしていない場合にのみ匿名ユーザーを作成します。“never” に設定すると、ユーザーを匿名でログインさせません。デフォルトは “never” に設定されています。
key (string, optional) 使用する APIキーです。
relogin (bool, optional) true の場合、APIキーの再入力を求めます。
host (string, optional) 接続するホストです。
force (bool, optional) true の場合、再ログインを強制します。
timeout (int, optional) ユーザー入力を待つ秒数です。
verify (bool) W&B サーバーで資格情報を確認します。
Returns
bool key が設定された場合
Raises
AuthenticationError - api_key の検証がサーバーで失敗した場合 UsageError - api_key が設定できず、tty がない場合

15 - 申し訳ありませんが、提供されたテキストが空白であるため、翻訳が必要なコンテンツが表示されません。それを解決していただければ、翻訳を提供いたします。

run を終了し、残りのデータをアップロードします。

finish(
    exit_code: (int | None) = None,
    quiet: (bool | None) = None
) -> None

W&B run の完了をマークし、すべてのデータがサーバーに同期されていることを確認します。run の最終状態は、その終了条件と同期ステータスによって決まります。

Run 状態:

  • Running: データをログし、またはハートビートを送信しているアクティブな run。
  • Crashed: ハートビートの送信が予期せず停止した run。
  • Finished: データがすべて同期された状態で正常に完了した run (exit_code=0)。
  • Failed: エラーがある状態で完了した run (exit_code!=0)。
Args
exit_code run の終了ステータスを示す整数。成功には 0 を使用し、他の値は run を失敗とマークします。
quiet 廃止予定。wandb.Settings(quiet=...) を使用してログの冗長性を設定します。

16 - 保存

1 つ以上のファイルを W&B に同期します。

save(
    glob_str: (str | os.PathLike | None) = None,
    base_path: (str | os.PathLike | None) = None,
    policy: PolicyName = "live"
) -> (bool | list[str])

相対パスは現在の作業ディレクトリーに対するものです。

Unix のグロブ(例: “myfiles/*")は、save が呼び出された時点で展開され、policy に関係ありません。特に、新しいファイルは自動的に取得されません。

アップロードされたファイルのディレクトリー構造を制御するために base_path を指定することができます。これは glob_str のプレフィックスであり、その下のディレクトリー構造は保持されます。以下の例で理解すると良いでしょう。

wandb.save("these/are/myfiles/*")
# => 保存されたファイルは run の "these/are/myfiles/" フォルダー内にあります。

wandb.save("these/are/myfiles/*", base_path="these")
# => 保存されたファイルは run の "are/myfiles/" フォルダー内にあります。

wandb.save("/User/username/Documents/run123/*.txt")
# => 保存されたファイルは run の "run123/" フォルダー内にあります。以下の注意点を参照してください。

wandb.save("/User/username/Documents/run123/*.txt", base_path="/User")
# => 保存されたファイルは run の "username/Documents/run123/" フォルダー内にあります。

wandb.save("files/*/saveme.txt")
# => 各 "saveme.txt" ファイルは "files/" の適切なサブディレクトリーに保存されます。

注意: 絶対パスやグロブが与えられ、base_path がない場合、例のように 1 つのディレクトリー レベルが保持されます。

Args
glob_str 相対または絶対パス、または Unix グロブ。
base_path ディレクトリー構造を推測するためのパス; 例を参照してください。
policy livenow、または end のいずれか。 * live: ファイルが変更されるたびにアップロードし、以前のバージョンを上書きする * now: 現在一度だけファイルをアップロードする * end: run が終了したときにファイルをアップロードする
Returns
一致したファイルに対して作成されたシンボリックリンクのパス。歴史的な理由により、レガシー コードではブール値を返すことがあります。