CSVファイルを表としてログする
"""
CSVファイルをW&Bに表としてログします。
以下を置き換えてください:
- 山括弧で囲まれた値を実際の値に変更する
- pd.read_csv() 内の <name>.csv をCSVファイル名に変更する
"""
import wandb
import pandas as pd
# CSVをDataFrameオブジェクト(pandas)として読み込む
dataframe = pd.read_csv("<name>.csv")
# DataFrameをW&B Tableに変換する
table = wandb.Table(dataframe=dataframe)
# データをログするためにW&B runを開始する
with wandb.init(project="<project>") as run:
# W&B UIで可視化するために表をログする
run.log({"<table_name>": table})
カスタム Summary メトリクスをログする
"""
カスタムサマリーメトリクスをW&Bにログする。
"""
import wandb
import random
with wandb.init(project="<project>") as run:
# 1から10のランダムな整数値でカスタムサマリーメトリクスをログする
run.summary["<metric_name>"] = random.randint(1, 10)
カスタム Summary メトリクスをログする
"""
カスタム summary メトリクスを W&B にログします。
以下を置き換えてください:
- 山括弧で囲まれた値を実際の値に置き換えてください
- run.define_metric() 内の <summary_function_a> と <summary_function_b> を
"max"、"min"、"last"、"mean"、"best"、"none" のいずれかに置き換えてください。
"""
import wandb
import random
with wandb.init() as run:
# metric_name_a に対する summary_function_a と summary_function_b の summary 値
run.define_metric(name="<metric_name_a>", summary="<summary_function_a>")
run.define_metric(name="<metric_name_a>", summary="<summary_function_b>")
for i in range(10):
log_dict = {
"metric_name_a": random.uniform(0, 1 / (i + 1)),
}
run.log(log_dict)
レジストリコレクションから既存のartifactをダウンロードしてログする
"""
W&B registryコレクションから既存のartifactをダウンロードしてログする。
プレースホルダーを実際のregistry名、コレクション名、entity、
プロジェクト、バージョンに置き換えること。
"""
import wandb
# バージョンを含む完全なartifact名を構築する
registry_name = "<registry_name>" # registry名を指定する
collection_name = "<collection_name>" # コレクション名を指定する
version = 0 # 使用するartifactのバージョンを指定する
artifact_name_registry = f"wandb-registry-{registry_name}/{collection_name}:v{version}"
# 別のTeamsとプロジェクトでW&B runを初期化する
with wandb.init(entity="<entity>", project="<project>") as run:
# registryからモデルのartifactを使用する
registry_model = run.use_artifact(artifact_or_name=artifact_name_registry)
# モデルをローカルディレクトリにダウンロードする
local_model_path = registry_model.download()
ヒストグラムプロットをログする
"""
ヒストグラムプロットを W&B にログします。
以下を置き換えてください:
- 山括弧で囲まれた値を実際の値に置き換えてください
- wandb.Table(data=) 内の [[1, 2], [2, 3]] をプロットする実際の2次元行指向配列に置き換えてください
data (wandb.Table(data=)) に2次元行指向配列を渡し、
列名は `columns` パラメーターで指定してください。
"""
import wandb
# 新しい run を開始する
with wandb.init(entity="<entity>", project="<project>") as run:
# プロットする列を含む表を作成する
table = wandb.Table(data=[[1, 2], [2, 3]] , columns=["<a_column>", "<b_column>"])
# 表を使用してさまざまなカスタムチャートにデータを入力する
histogram = wandb.plot.histogram(table, value='<b_column>', title='Histogram')
# カスタム表をログする(UI のカスタマイズ可能なチャートに表示されます)
run.log({'histogram_1': histogram})
runを初期化し、ハイパーパラメーターをログする
"""W&B の run を初期化し、ハイパーパラメーターをログします。"""
import wandb
config = {
"learning_rate": 0.01,
"batch_size": 32,
"optimizer": "adam",
}
with wandb.init(project="<project>", config=config) as run:
# トレーニングとロギングのコードをここに記述する
pass
折れ線グラフをログする
"""
折れ線グラフをW&Bにログします。
以下を置き換えてください:
- 山括弧で囲まれた値を独自の値に変更する
- wandb.Table(data=) 内の [[1, 2], [2, 3]] をプロットする独自の2次元行指向配列に変更する
data (wandb.Table(data=)) に2次元行指向配列を渡し、
列名は `columns` パラメーターで指定します。
列名は `wandb.plot.line()` プロット関数の x および y パラメーターと一致する必要があります。
"""
import wandb
# 新しいrunを開始する
with wandb.init(entity="<entity>", project="<project>") as run:
# プロットする列を含む表を作成する
table = wandb.Table(data=[[1, 2], [2, 3]], columns=["<column_a>", "<column_b>"])
# 表を使用してさまざまなカスタムチャートにデータを入力する
line_plot = wandb.plot.line(table, x='<column_a>', y='<column_b>', title='<title>')
# カスタム表をログする(UIのカスタマイズ可能なチャートに表示されます)
run.log({'<line_plot>': line_plot})
run を初期化し、メトリクスをログする
"""W&B の run を初期化してメトリクスをログします。"""
import wandb
with wandb.init(project="<project>") as run:
# トレーニングとログのコードをここに記述
# メトリクスをログする例
run.log({"accuracy": 0.95})
散布図をログする
"""
散布図をW&Bにログします。
以下を置き換えてください:
- 山括弧で囲まれた値を実際の値に置き換える
- wandb.Table(data=) 内の [[1, 2], [2, 3]] をプロットする実際の2次元行指向配列に置き換える
data (wandb.Table(data=)) に2次元行指向配列を渡し、
列名は `columns` パラメーターで指定します。
列名は `wandb.plot.scatter()` プロット関数の x および y パラメーターと一致している必要があります。
"""
import wandb
# 新しいrunを開始する
with wandb.init(entity="<entity>", project="<project>") as run:
# プロットする列を含む表を作成する
table = wandb.Table(data=[[1, 2], [2, 3]], columns=["<a_column>", "<b_column>"])
# 表を使用してさまざまなカスタムチャートにデータを入力する
scatter = wandb.plot.scatter(table, x='<a_column>', y='<b_column>', title='<title>')
# カスタム表をログする(UIのカスタマイズ可能なチャートに表示されます)
run.log({'scatter_1': scatter})
summary メトリクスを明示的にログする
"""
サマリーメトリクスをW&Bに明示的にログする。
"""
import wandb
import random
with wandb.init(project="<project>") as run:
# 1から10のランダムな整数値でカスタムサマリーメトリクスをログする
run.summary["<metric_name>"] = random.randint(1, 10)
表をログする
"""
Log a table to W&B.
Replace:
- values enclosed in angle brackets with your own
- [[1, 2], [2, 3]] in wandb.Table(data=) with your own 2D row-oriented array of values to log
"""
import wandb
# 2列2行のデータを持つ表オブジェクトを作成する
my_table = wandb.Table(
columns=["<a_column>", "<b_column>"],
data=[[1, 2], [2, 3]],
log_mode="<log_mode>"
)
# 新しい run を開始する
with wandb.init(entity="<entity>", project="<project>") as run:
# 表を W&B にログする
run.log({"<table_name>": my_table})