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が初期化される前に終了されます。ノートブック環境では、reinit がFalse に設定されていない限り、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 引数が優先されます。resume 、resume_from 、fork_from は一緒に使用できません。それらのいずれかのみを使用できます。注意: この機能はベータ版であり、将来的に変更される可能性があります。 |
fork_from |
前のRunのある時点から新しいRunをフォークするための形式{id}?_step={step} で指定します。これは、ターゲットRunの履歴で指定されたステップからログを再開する新しいRunを作成します。ターゲットRunは現在のプロジェクトの一部でなければなりません。id 引数も提供された場合、それはfork_from 引数と異なる必要があり、それらが同じ場合はエラーが発生します。resume 、resume_from 、fork_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
ソースを表示
initialized
ソースを表示
@classmethod
initialized() -> bool
エージェントが初期化されているかを返します。
loop
ソースを表示
ジョブをポーリングしてそれを実行するために無限ループします。
例外 |
|
KeyboardInterrupt |
エージェントが停止を要求された場合。 |
name
ソースを表示
@classmethod
name() -> str
エージェントの名前を返します。
pop_from_queue
ソースを表示
ジョブとして実行するために run キューからアイテムを取り出します。
例外 |
|
Exception |
キューからの取り出しにエラーがある場合。 |
print_status
ソースを表示
エージェントの現在のステータスを表示します。
run_job
ソースを表示
run_job(
job, queue, file_saver
)
プロジェクトをセットアップし、ジョブを実行します。
task_run_job
ソースを表示
task_run_job(
launch_spec, job, default_config, api, job_tracker
)
update_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.init
のgroup
引数で結果をグループ化することができます。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、オプショナル) 使用するアラートレベル。INFO 、WARN 、または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
ソースを見る
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) ログを記録するアーティファクトのタイプ、例:dataset 、model |
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
ソースを見る
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"のエイリアスは、リンクされたアーティファクトの最新バージョンに常に適用されます。 |
link_model
ソースを見る
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に無効な特殊文字が含まれている場合 |
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オブジェクトを含むint 、float 、およびstring 、wandb.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) ログを記録するアーティファクトのタイプ、例:dataset 、model |
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(
"../",
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に無効な特殊文字が含まれている場合 |
mark_preempting
ソースを見る
mark_preempting() -> None
このrunを中断しているとマークします。
また、内部プロセスに即座にサーバーに報告するよう指示します。
project_name
ソースを見る
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 |
live 、now 、またはend のいずれか。 * live: ファイルを変更すると新しいバージョンで上書きしてアップロードします。 * now: 現在アップロードされているファイルを一度だけアップロードします。 * end: runが終了したときにファイルをアップロードします。 |
戻り値 |
|
発生した場合、ファイルのリンクシステムとして作成されたパス。歴史的な理由から、これが古いコードでブール値を返す場合もあります。 |
|
status
ソースを見る
内部バックエンドからの現在の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) ログを記録するアーティファクトのタイプ、例:dataset 、model |
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__
ソースを見る
__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
: セクション内のすべてのパネルに適用されるパネルレベルの設定。 WorkspaceSettings
の Section
に似ている。
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
URL からワークスペースを取得。
method save
現在のワークスペースを W&B に保存。
戻り値:
Workspace
: 保存された内部名と ID を持つ更新されたワークスペース。
method 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:
class CalloutBlock
強調されたテキストのブロック。
Attributes:
class CheckedList
チェックボックス付きの項目リスト。CheckedListItem
を CheckedList
内に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’]): コードの差異を表示する方法。オプションには split
と unified
が含まれます。
class Config
run の設定オブジェクトにログされたメトリクス。設定オブジェクトは通常、run.config[name] = ...
を使用するか、キーと値のペアを持つ設定として渡されてログされます。ここでキーがメトリクスの名前、値がメトリクスの値です。
Attributes:
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): チャートに表示する文字列。
class Gallery
レポートと URL のギャラリーをレンダリングするブロック。
Attributes:
items
(List[Union[GalleryReport
, GalleryURL
]]): GalleryReport
と GalleryURL
オブジェクトのリスト。
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:
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]]): 凡例に含めるフィールド。
class Link
URL へのリンク。
Attributes:
text
(Union[str, TextWithInlineComments]): リンクのテキスト。
url
(str): リンクが指す URL。
class MarkdownBlock
マークダウンテキストのブロック。一般的なマークダウンサクジを使用してテキストを書くのに便利です。
Attributes:
class MarkdownPanel
マークダウンをレンダリングするパネル。
Attributes:
markdown
(str): マークダウンパネルに表示したいテキスト。
メディアファイルをグリッドレイアウトで表示するパネル。
Attributes:
num_columns
(Optional[int]): グリッドの列数。
media_keys
(LList[str]): メディアファイルに対応するメディアキーのリスト。
class Metric
プロジェクトにログされたメトリクスをレポートに表示する。
Attributes:
class OrderBy
並び替えに使用するメトリクス。
Attributes:
name
(str): メトリクスの名前。
ascending
(bool): 昇順にソートするかどうか。デフォルトは False
に設定されています。
class OrderedList
番号付きリストの項目リスト。
Attributes:
items
(LList[str]): OrderedListItem
オブジェクトのリスト。
class OrderedListItem
順序付きリストの項目。
Attributes:
text
(str): リストアイテムのテキスト。
class P
テキストの段落。
Attributes:
class Panel
パネルグリッドで可視化を表示するパネル。
Attributes:
layout
(Layout): Layout
オブジェクト。
class PanelGrid
runset とパネルで構成されるグリッド。runset とパネルはそれぞれ Runset
と Panel
オブジェクトで追加します。
利用可能なパネル:
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:
class TableOfContents
H1, H2, H3 の HTML ブロックを使用して指定されたセクションとサブセクションのリストを含むブロック。
インラインコメント付きのテキストブロック。
Attributes:
text
(str): テキストブロックのテキスト。
Twitter フィードを表示するブロック。
Attributes:
html
(str): Twitter フィードを表示するための HTML コード。
class UnorderedList
箇条書きリストの項目リスト。
Attributes:
items
(LList[str]): UnorderedListItem
オブジェクトのリスト。
class UnorderedListItem
順序のないリストの項目。
Attributes:
text
(str): リストアイテムのテキスト。
class Video
ビデオをレンダリングするブロック。
Attributes:
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、プロット、またはその他の値を表示するパネル。クエリは次の形式を取ります。
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 |
アーティファクトのタイプです。アーティファクトの分類や区別に使用します。文字、数字、アンダースコア、ハイフン、ドットを含む任意の文字列を使用できます。一般的なタイプには dataset や model があります。アーティファクトを 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 専用のパラメータです。一般的な使用には推奨されません。 |
属性 |
|
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 |
アーティファクトのタイプです。一般的なタイプには dataset や model が含まれます。 |
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-Length
と ETag
レスポンスヘッダによって推測されます。
- 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 |
要求ごとに返されるファイルの数。 |
例外 |
|
ArtifactNotLoggedError |
アーティファクトがログされていない場合。 |
finalize
ソースを表示
アーティファクトバージョンを確定します。
一度確定されたアーティファクトバージョンは、特定のアーティファクトバージョンとしてログされるため、変更できません。新しいデータをアーティファクトに記録するには、新しいアーティファクトバージョンを作成してください。アーティファクトは、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 |
取得するアーティファクト相対名です。 |
例外 |
|
ArtifactNotLoggedError |
アーティファクトがログされていない場合、または run がオフラインの場合。 |
KeyError |
指定した名前のエントリがアーティファクトに含まれていない場合。 |
get_path
ソースを表示
get_path(
name: StrPath
) -> ArtifactManifestEntry
非推奨。get_entry(name)
を使用してください。
is_draft
ソースを表示
アーティファクトが保存されていないかをチェックします。
Returns: Boolean. False
はアーティファクトが保存された場合。True
はアーティファクトが保存されていない場合。
json_encode
ソースを表示
json_encode() -> dict[str, Any]
アーティファクトを JSON 形式にエンコードして返します。
戻り値 |
|
アーティファクトの属性を表す string キーを持つ dict 。 |
|
link
ソースを表示
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
ソースを表示
このコミット済みのアーティファクトと同じ内容の新しいドラフトアーティファクトを作成します。
既存のアーティファクトを修正すると、新しいアーティファクトバージョンである「インクリメンタルアーティファクト」が作成されます。返されたアーティファクトは拡張または修正され、新しいバージョンとしてログに記録できます。
例外 |
|
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
ソースを表示
このアーティファクトが現在ポートフォリオのメンバーである場合、それを解除します(プロモートされたアーティファクトのコレクション)。
例外 |
|
ArtifactNotLoggedError |
アーティファクトがログされていない場合。 |
ValueError |
アーティファクトがリンクされていない場合、つまりポートフォリオコレクションのメンバーでない場合。 |
used_by
ソースを表示
このアーティファクトを使用した run のリストを取得します。
例外 |
|
ArtifactNotLoggedError |
アーティファクトがログされていない場合。 |
verify
ソースを表示
verify(
root: (str | None) = None
) -> None
アーティファクトの内容がマニフェストと一致するかを確認します。
ディレクトリ内のすべてのファイルはチェックサムが計算され、チェックサムはアーティファクトのマニフェストと照合されます。参照は確認されません。
引数 |
|
root |
検証するディレクトリ。None の場合、アーティファクトは './artifacts/self.name/' にダウンロードされます。 |
例外 |
|
ArtifactNotLoggedError |
アーティファクトがログされていない場合。 |
ValueError |
検証に失敗した場合。 |
wait
ソースを表示
wait(
timeout: (int | None) = None
) -> 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 を設定できます。また、entity 、project 、および run のデフォルト設定をすることができます。 |
メソッド
artifact
ソースを表示
artifact(
name: str,
type: Optional[str] = None
)
project/name
または entity/project/name
の形式でパスを解析することにより、単一のアーティファクトを返します。
引数 |
|
name |
(str) アーティファクト名。project/ または entity/project/ で始まる場合があります。name に entity が指定されていない場合、Run または API 設定の entity が使用されます。有効な名前は次の形式になります: name:version name:alias |
type |
(str, オプション) 取得するアーティファクトのタイプ。 |
例外 |
|
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, オプション) 指定されている場合、フィルタリングするプロジェクト名またはパス。 |
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 のエンティティ。 |
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)"] } } } |
例外 |
|
ValueError: パラメーターのいずれかが無効な場合 wandb.Error: wandb API のエラー |
|
create_team
ソースを表示
create_team(
team, admin_username=None
)
新しいチームを作成します。
引数 |
|
team |
(str) チーム名 |
admin_username |
(str) チームの管理ユーザーのオプションのユーザー名、デフォルトは現在のユーザーです。 |
create_user
ソースを表示
create_user(
email, admin=(False)
)
新しいユーザーを作成します。
引数 |
|
email |
(str) ユーザーのメールアドレス |
admin |
(bool) このユーザーがグローバルインスタンス管理者であるかどうか |
flush
ソースを表示
ローカルキャッシュをフラッシュします。
API オブジェクトは run のローカルキャッシュを保持するため、スクリプトを実行中に run の状態が変更される可能性がある場合、api.flush()
を使用してローカルキャッシュをクリアし、run に関連付けられた最新の値を取得します。
from_path
ソースを表示
パスから run、sweep、プロジェクト、またはレポートを返します。
例:
project = api.from_path("my_project")
team_project = api.from_path("my_team/my_project")
run = api.from_path("my_team/my_project/runs/id")
sweep = api.from_path("my_team/my_project/sweeps/id")
report = api.from_path("my_team/my_project/reports/My-Report-Vm11dsdf")
引数 |
|
path |
(str) プロジェクト、run、sweep、またはレポートへのパス |
戻り値 |
|
Project 、Run 、Sweep 、または BetaReport インスタンス。 |
|
例外 |
|
wandb.Error: パスが無効、またはオブジェクトが存在しない場合 |
|
job
ソースを表示
job(
name: Optional[str],
path: Optional[str] = None
) -> "public.Job"
指定されたパラメーターから Job
を返します。
引数 |
|
name |
(str) ジョブの名前。 |
path |
(str, オプション) 指定された場合、ジョブアーティファクトをダウンロードするルートパス。 |
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 をスローします。 |
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
ソースを表示
entity/project/run_id
の形式でパスを解析することにより、単一の run を返します。
引数 |
|
path |
(str) entity/project/run_id 形式の run へのパス。api.entity が設定されている場合、この形式は project/run_id となり、api.project が設定されている場合、run_id のみです。 |
run_queue
ソースを表示
run_queue(
entity, name
)
エンティティの名前付き RunQueue
を返します。
新しい RunQueue
を作成するには、wandb.Api().create_run_queue(...)
を使用してください。
runs
ソースを表示
runs(
path: Optional[str] = None,
filters: Optional[Dict[str, Any]] = None,
order: str = "+created_at",
per_page: int = 50,
include_sweeps: bool = (True)
)
指定されたフィルターに一致するプロジェクトからの一連の run を返します。
フィルターに使用できるフィールドには以下のものがあります:
createdAt
: run が作成されたタイムスタンプ。(ISO 8601 フォーマット、例: “2023-01-01T12:00:00Z”)
displayName
: run の人間が読みやすい表示名。(例: “eager-fox-1”)
duration
: run の合計実行時間(秒単位)。
group
: 関連する run をまとめるために使用されるグループ名。
host
: run が実行されたホスト名。
jobType
: ジョブのタイプまたは run の目的。
name
: run の一意の識別子。(例: “a1b2cdef”)
state
: run の現在の状態。
tags
: run に関連付けられたタグ。
username
: run を開始したユーザーのユーザー名。
さらに、run の設定や要約メトリクス内の項目によるフィルタリングが可能です。例: config.experiment_name
, summary_metrics.loss
など。
より複雑なフィルタリングには、MongoDB クエリオペレーターを使用できます。詳細は、以下を参照してください: https://docs.mongodb.com/manual/reference/operator/query サポートされている操作には以下のものがあります:
$and
$or
$nor
$eq
$ne
$gt
$gte
$lt
$lte
$in
$nin
$exists
$regex
例:
設定されている foo という experiment_name を持つ my_project 内の run を見つけます
api.runs(
path="my_entity/my_project",
filters={"config.experiment_name": "foo"},
)
設定されている foo または bar という experiment_name を持つ my_project 内の run を見つけます
api.runs(
path="my_entity/my_project",
filters={
"$or": [
{"config.experiment_name": "foo"},
{"config.experiment_name": "bar"},
]
},
)
experiment_name が正規表現に一致する my_project 内の run を見つけます(アンカーはサポートされていません)
api.runs(
path="my_entity/my_project",
filters={"config.experiment_name": {"$regex": "b.*"}},
)
run の名前が正規表現に一致する my_project 内の run を見つけます(アンカーはサポートされていません)
api.runs(
path="my_entity/my_project",
filters={"display_name": {"$regex": "^foo.*"}},
)
実験に “category” というネストされたフィールドを持つ run を探します
api.runs(
path="my_entity/my_project",
filters={"config.experiment.category": "testing"},
)
要約メトリクスの model1 下に辞書としてネストされている損失値0.5を持つ run を探します
api.runs(
path="my_entity/my_project",
filters={"summary_metrics.model1.loss": 0.5},
)
上昇損失に基づいて my_project 内の run を探します
api.runs(path="my_entity/my_project", order="+summary_metrics.loss")
引数 |
|
path |
(str) プロジェクトへのパス。形式は: “entity/project” |
filters |
(dict) MongoDB クエリ言語を使用して特定の run をクエリします。run のプロパティ(config.key、summary_metrics.key、state、entity、createdAt など)でフィルタリングできます。例: {"config.experiment_name": "foo"} は、実験名に foo が設定されている run を見つけます。 |
order |
(str) 並び順は created_at 、heartbeat_at 、config.*.value 、summary_metrics.* にできます。order の前に + を付けると昇順になります。order の前に - を付けると降順(デフォルト)になります。デフォルトの並び順は、run の created_at で、古い順から新しい順です。 |
per_page |
(int) クエリのページネーションのページサイズを設定します。 |
include_sweeps |
(bool) 結果に sweep run を含めるかどうか。 |
戻り値 |
|
Runs オブジェクトで、Run オブジェクトのイテラブルなコレクションです。 |
|
sweep
ソースを表示
sweep_id
の形式でパスを解析することにより、sweep を返します。
引数 |
|
path |
(str, オプション) エンティティまたはプロジェクトの設定がされていない場合、sweep に対するパスの形式は entity/project/sweep_id である必要があります。api.entity が設定されている場合、この形式は project/sweep_id になり、api.project が設定されている場合、sweep_id のみです。 |
sync_tensorboard
ソースを表示
sync_tensorboard(
root_dir, run_id=None, project=None, entity=None
)
tfevent ファイルを含むローカルディレクトリを wandb に同期します。
team
ソースを表示
team(
team: str
) -> "public.Team"
指定された名前の 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 |
例外 |
|
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) 検索したいユーザーのプレフィックスまたはサフィックス |
クラス変数 |
|
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_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
ソースを表示
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
ソースを表示
update_variables
ソースを表示
__getitem__
ソースを表示
__iter__
ソースを表示
__len__
ソースを表示
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
ソースを見る
指定された名前のファイルのパスをアーティファクトで返します。
引数 |
|
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
ソースを見る
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, オプション) このアーティファクトに適用するタグ。 |
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
ソースを見る
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
ソースを見る
to_html
ソースを見る
to_html(
height=420, hidden=(False)
)
この run を表示する iframe を含む HTML を生成します。
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 機能のアーティファクト交換機能を使用します。 |
|
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
ソースを見る
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
ソースを見る
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
ソースを表示
設定で定義されたメトリックまたは渡された順序でソートされた最良の 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
ソースを表示
to_html
ソースを表示
to_html(
height=420, hidden=(False)
)
このスイープを表示する iframe を含む HTML を生成します。
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
ソースを表示
next
ソースを表示
update_variables
ソースを表示
__getitem__
ソースを表示
__iter__
ソースを表示
__len__
ソースを表示
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
ソースを見る
sweeps
ソースを見る
to_html
ソースを見る
to_html(
height=420, hidden=(False)
)
このプロジェクトを表示する iframe を含む HTML を生成します。
8.10 - プロジェクト
Project
オブジェクトの反復可能なコレクション。
Projects(
client, entity, per_page=50
)
メソッド
convert_objects
ソースを見る
next
ソースを見る
update_variables
ソースを見る
__getitem__
ソースを見る
__iter__
ソースを見る
__len__
ソースを見る
8.11 - 申し訳ありませんが、私は提供された文書の翻訳を行うためのテキストが不足しています。何か特定のテキストまたは文書を提供していただければ、それを翻訳いたします。それに基づいて正確な翻訳を提供できますので、どうぞよろしくお願いします。
File は wandb によって保存されたファイルに関連付けられているクラスです。
File(
client, attrs, run=None
)
属性 |
|
path_uri |
ストレージバケット内のファイルへの URI パスを返します。 |
メソッド
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
ソースを表示
to_html
ソースを表示
to_html(
*args, **kwargs
)
9 - インテグレーション
モジュール
keras
モジュール: wandb
を Keras
と統合するためのツール。
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 のサマリーメトリクスを設定します。「最良」は monitor
と mode
属性によって定義されます。デフォルトでは、最小の 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_gradients が True の場合は必須です。 |
validation_data |
(タプル) model.fit に渡される形式 (X,y) と同じ形式です。wandb が可視化するデータセットです。設定されている場合、各エポックで wandb は少数の予測を行い、後で可視化するためにその結果を保存します。画像データを扱っている場合は、正しくログするために input_type と output_type を設定して下さい。 |
generator |
(ジェネレータ) wandb が可視化するための検証データを返すジェネレータ。このジェネレータは、タプル (X,y) を返す必要があります。wandb が特定のデータ例を可視化するには validate_data またはジェネレータが設定されている必要があります。画像データを扱っている場合は、正しくログするために input_type と output_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_indexes 、validation_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
ソースを見る
tf.keras.Model または tf.keras.Sequential モデルの推論モードでの FLOPS [GFLOPs] を計算します。
内部では tf.compat.v1.profiler を使用しています。
set_model
ソースを見る
set_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_truth
と add_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_begin
と on_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_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_epoch
を model.fit
に渡してトレーニングを再開し、かつ学習率スケジューラを使用している場合、initial_global_step
を WandbMetricsLogger
に渡すことを確認してください。initial_global_step
は step_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_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 で渡される)が埋め込まれます。たとえば、filepath が model-{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 に対しては max 、val_loss に対しては min など。 |
save_freq |
(Union[SaveStrategy, int]) epoch または整数。'epoch' を使用する場合、コールバックは各エポックの後にモデルを保存します。整数を使用する場合、コールバックはこのバッチ数の終わりにモデルを保存します。val_acc や val_loss などの検証メトリクスを監視する場合、save_freq は「epoch」に設定する必要があります。これらのメトリクスはエポックの終わりにのみ利用可能だからです。 |
initial_value_threshold |
(Optional[float]) 監視されるメトリクスの浮動小数点数の初期「最良」値。 |
メソッド
set_model
set_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
ソースを表示
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_path が TextIO ストリームである場合は必須です。ファイルパスが提供されている場合はこのパラメータは無視されます。タイプはファイル拡張子から取得されます。 |
|
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 の図 |
メソッド
ソースを表示
@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
注意 : 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})
メソッド
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
のほとんどのサブクラス。
これにより、Images
、Video
、Audio
、および他の種類のリッチで注釈のあるメディアを
従来のスカラー値と並べて 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 オブジェクト。設定されている場合、data と columns 引数は無視されます。 |
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_ndx が True に設定されている場合にのみ含まれます。row は既存の列にキー付けされた辞書です。 |
add_data
ソースを表示
テーブルに新しいデータ行を追加します。テーブル内の最大行数は wandb.Table.MAX_ARTIFACT_ROWS
によって決定されます。
データの長さはテーブル列の長さと一致する必要があります。
add_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
ソースを表示
テーブルの pandas.DataFrame
を返します。
get_index
ソースを表示
リンクを作成するために他のテーブルで使用する行インデックスの配列を返します。
index_ref
ソースを表示
テーブル内の行のインデックスの参照を取得します。
iterrows
ソースを表示
行ごとにテーブルデータを返し、行のインデックスと関連するデータを表示します。
index : int
行のインデックス。この値を他の W&B テーブルで使用することで、テーブル間の関係が自動的に構築されます
row : List[any]
行のデータ。
set_fk
ソースを表示
set_fk(
col_name, table, table_col
)
set_pk
ソースを表示
クラス変数 |
|
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
ソースを見る
sample_rates
ソースを見る
@classmethod
sample_rates(
audio_list
)
11.11 - グラフ
グラフ用の Wandb クラス。
このクラスは通常、ニューラルネットモデルを保存し表示するために使用されます。ツリーをノードとエッジの配列として表現します。ノードには、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
ソースを見る
__getitem__
ソースを見る
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
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 も参照してください。
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 |
str キーと直列化可能な Python オブジェクトを含む dict 。これには、int 、float 、string 、任意の wandb.data_types 、直列化可能な Python オブジェクトのリスト、タプル、NumPy 配列、同じ構造の他の dict が含まれます。 |
step |
ログするステップ番号。None の場合、暗黙的な自動インクリメントステップが使用されます。説明の中の注釈を参照してください。 |
commit |
true の場合、ステップを確定してアップロードします。false の場合は、ステップのデータを蓄積します。説明の中の注釈を参照してください。step が None の場合、デフォルトは 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 |
live 、now 、または end のいずれか。 * live: ファイルが変更されるたびにアップロードし、以前のバージョンを上書きする * now: 現在一度だけファイルをアップロードする * end: run が終了したときにファイルをアップロードする |
Returns |
|
一致したファイルに対して作成されたシンボリックリンクのパス。歴史的な理由により、レガシー コードではブール値を返すことがあります。 |
|