メインコンテンツまでスキップ

Walkthrough

以下のウォークスルーでは、W&B Runs からデータセットアーティファクトを作成、追跡、および使用するための主要なW&B Python SDKコマンドを示します。

1. W&Bにログイン

W&Bライブラリをインポートし、W&Bにログインします。まだW&Bの無料アカウントにサインアップしていない場合は、サインアップが必要です。

import wandb

wandb.login()

2. Runを初期化

wandb.init() APIを使用してバックグラウンドプロセスを生成し、データを同期およびログとしてW&B Runに記録します。プロジェクト名とジョブタイプを指定します。

# W&B Runを作成します。この例ではデータセットアーティファクトの作成方法を示すため、
# ジョブタイプとして 'dataset' を指定しています。
run = wandb.init(project="artifacts-example", job_type="upload-dataset")

3. アーティファクトオブジェクトを作成

wandb.Artifact() APIを使用してアーティファクトオブジェクトを作成します。アーティファクトの名前とファイルタイプの説明をそれぞれ nametype パラメータに提供します。

例えば、以下のコードスニペットは ‘bicycle-dataset’ という名前のアーティファクトを ‘dataset’ ラベルで作成する方法を示しています。

artifact = wandb.Artifact(name="bicycle-dataset", type="dataset")

アーティファクトの構築方法について詳しくは、Construct artifacts を参照してください。

データセットをアーティファクトに追加

アーティファクトにファイルを追加します。一般的なファイルタイプにはModelsやDatasetsが含まれます。次の例では、ローカルマシンに保存されている dataset.h5 という名前のデータセットをアーティファクトに追加します。

# アーティファクトの内容にファイルを追加する
artifact.add_file(local_path="dataset.h5")

上記のコードスニペット内の dataset.h5 を追加したいファイルのパスに置き換えてください。

4. データセットをログ

W&B Runオブジェクトの log_artifact() メソッドを使用して、アーティファクトバージョンを保存し、Runの出力としてアーティファクトを宣言します。

# アーティファクトバージョンをW&Bに保存し、
# このRunの出力としてマークする
run.log_artifact(artifact)

アーティファクトをログに記録すると、デフォルトで 'latest' というエイリアスが作成されます。アーティファクトのエイリアスとバージョンについて詳しくは、Create a custom alias および Create new artifact versions を参照してください。

5. アーティファクトをダウンロードして使用

次のコード例では、ログに記録し保存したアーティファクトを使用する手順を示します。

  1. まず、wandb.init() で新しいRunオブジェクトを初期化します。
  2. 次に、Runオブジェクトのuse_artifact() メソッドを使用して、W&Bにどのアーティファクトを使用するかを指示します。これにより、アーティファクトオブジェクトが返されます。
  3. 最後に、アーティファクトのdownload() メソッドを使用して、アーティファクトの内容をダウンロードします。
# W&B Runを作成します。ここでは 'type' として 'training' を指定しています。
# このRunはトレーニングの追跡に使用します。
run = wandb.init(project="artifacts-example", job_type="training")

# W&Bにアーティファクトを問い合わせ、このRunの入力としてマークする
artifact = run.use_artifact("bicycle-dataset:latest")

# アーティファクトの内容をダウンロードする
artifact_dir = artifact.download()

また、Public API (wandb.Api) を使用してRunの外部でW&Bに既に保存されているデータをエクスポート(または更新)することもできます。詳しくは、Track external files を参照してください。

Was this page helpful?👍👎