アーティファクト を作成する
wandb.Artifact()を使って アーティファクト の Python オブジェクトを作成する- アーティファクト に 1 つ以上のファイルを追加する
- アーティファクト を W&B Server に保存する
wandb.Artifact() を使って アーティファクト Python オブジェクトを作成する
wandb.Artifact() クラスを初期化します。次のパラメーターを指定します。
- Name: アーティファクト の名前です。名前は一意で、内容がわかりやすく、覚えやすいものにしてください。
- Type: アーティファクト のタイプです。タイプはシンプルでわかりやすく、機械学習パイプライン内の単一の step に対応している必要があります。一般的な アーティファクト タイプには
'dataset'や'model'があります。
W&B は、指定した “name” と “type” を使用して、W&B App に有向非巡回グラフを作成します。詳細は、アーティファクト グラフの探索とたどり方を参照してください。
wandb.Artifact クラス定義を参照してください。
次の コードスニペット をコピー&ペーストして アーティファクト オブジェクトを作成します。<name> と <type> のプレースホルダーを自分の値に置き換えてください。
アーティファクト に 1 つ以上のファイルを追加する
Artifact.add_file() method を使用します。
Artifact.add_dir() methodを使用します。
アーティファクトをW&B Serverに保存する
wandb.Run.log_artifact() method を使用します。
アーティファクト にファイルを追加する
単一ファイルを追加
wandb.Artifact.add_file() を使用します。ファイルのローカルパスを local_path パラメーターに指定します。
'hello.txt' というファイルがあるとします。
name パラメーターに別の名前を渡すと、アーティファクト オブジェクト内でのファイル名を変更できます。前の例の続きは次のとおりです。
| API 呼び出し | 生成される アーティファクト |
|---|---|
artifact.new_file('hello.txt') | hello.txt |
artifact.add_file('model.h5') | model.h5 |
artifact.add_file('checkpoints/model.h5') | model.h5 |
artifact.add_file('model.h5', name='models/mymodel.h5') | models/mymodel.h5 |
複数のファイルを追加する
wandb.Artifact.add_dir() methodを使用します。local_path パラメーターには、対象ディレクトリのローカルパスを指定します。
| API 呼び出し | 生成されるアーティファクト |
|---|---|
artifact.add_dir('images') |
|
artifact.add_dir('images', name='images') |
|
URI referenceを追加する
wandb.Artifact.add_reference() method を使用して、アーティファクト に外部 URI reference を追加します。'uri' 文字列はご自身の URI に置き換えてください。必要に応じて、name パラメーターに アーティファクト 内の任意のパスを指定できます。
http(s)://: HTTP 経由でアクセスできるファイルへのパスです。HTTP サーバーがETagおよびContent-Lengthレスポンスヘッダーをサポートしている場合、アーティファクト は ETag とサイズのメタデータの形式でチェックサムをトラッキングします。s3://: S3 内のオブジェクトまたはオブジェクトプレフィックスへのパスです。アーティファクト は、参照先オブジェクトのチェックサムとバージョン管理情報 (バケットでオブジェクトのバージョン管理が有効になっている場合) をトラッキングします。オブジェクトプレフィックスは、そのプレフィックス配下のオブジェクトを含むように展開され、最大 10,000 オブジェクトまで含まれます。gs://: GCS 内のオブジェクトまたはオブジェクトプレフィックスへのパスです。アーティファクト は、参照先オブジェクトのチェックサムとバージョン管理情報 (バケットでオブジェクトのバージョン管理が有効になっている場合) をトラッキングします。オブジェクトプレフィックスは、そのプレフィックス配下のオブジェクトを含むように展開され、最大 10,000 オブジェクトまで含まれます。
| API 呼び出し | 生成される アーティファクト の内容 |
|---|---|
artifact.add_reference('s3://my-bucket/model.h5') | model.h5 |
artifact.add_reference('s3://my-bucket/checkpoints/model.h5') | model.h5 |
artifact.add_reference('s3://my-bucket/model.h5', name='models/mymodel.h5') | models/mymodel.h5 |
artifact.add_reference('s3://my-bucket/images') |
|
artifact.add_reference('s3://my-bucket/images', name='images') |
|
並列 run からアーティファクトにファイルを追加する
ログ済みの アーティファクト やその他のメタデータのパスを検索する
<entity/project/run-id> プレースホルダーは実際の値に置き換えてください。