ある Run によってログ記録または使用された Artifacts を見つけるにはどうすればよいですか?また、特定の Artifact を作成または使用した Runs を見つけるにはどうすればよいですか?
W&B は各 run によってログ記録された Artifacts と、各 run で使用された Artifacts を追跡し、アーティファクトグラフを構築します。このグラフは、run と Artifacts をノードとする二部有向非巡回グラフです。例は こちら で確認できます(「Explode」をクリックするとグラフが展開されます)。Public API を使用すると、Artifacts または run のいずれかを起点として、プログラムでグラフをたどることができます。
Artifacts から
Run から
api = wandb.Api()artifact = api.artifact("project/artifact:alias")# Artifacts からグラフを遡る (上流へ):producer_run = artifact.logged_by()# Artifacts からグラフを下る (下流へ):consumer_runs = artifact.used_by()# Run からグラフを下る (下流へ):next_artifacts = consumer_runs[0].logged_artifacts()# Run からグラフを遡る (上流へ):previous_artifacts = producer_run.used_artifacts()
api = wandb.Api()run = api.run("entity/project/run_id")# Run からグラフを下る (下流へ):produced_artifacts = run.logged_artifacts()# Run からグラフを遡る (上流へ):consumed_artifacts = run.used_artifacts()# Artifacts からグラフを遡る (上流へ):earlier_run = consumed_artifacts[0].logged_by()# Artifacts からグラフを下る (下流へ):consumer_runs = produced_artifacts[0].used_by()