メインコンテンツへスキップ

Docker インテグレーション

W&B は、コードが実行された Docker イメージへのポインタを保存できます。これにより、以前の 実験 を実行時と全く同じ 環境 で復元することが可能になります。 wandbライブラリ は、この状態を永続化するために WANDB_DOCKER 環境 変数を確認します。この状態を自動的に設定するためのヘルパーをいくつか提供しています。

ローカル開発

wandb docker は、 dockerコンテナ を起動し、 wandb 環境 変数を渡し、コードをマウントし、 wandb がインストールされていることを確認する コマンド です。デフォルトでは、この コマンド は TensorFlow、PyTorch、Keras、Jupyter がインストールされた Docker イメージを使用します。独自の Docker イメージを開始するために同じ コマンド を使用することもできます: wandb docker my/image:latest 。この コマンド は現在の ディレクトリー をコンテナの “/app” ディレクトリー にマウントします。これは “—dir” フラグで変更可能です。

プロダクション

プロダクション のワークロード向けに wandb docker-run コマンド が提供されています。これは nvidia-docker のドロップインリプレイスメントとして機能することを意図しています。これは docker run コマンド のシンプルなラッパーであり、資格情報と WANDB_DOCKER 環境 変数を呼び出しに追加します。 “—runtime” フラグを渡さず、かつマシン上で nvidia-docker が利用可能な場合、ランタイムが nvidia に設定されることも保証します。

Kubernetes

トレーニング ワークロードを Kubernetes で実行しており、k8s API がポッドに公開されている場合(デフォルト設定)、 wandb は API に Docker イメージのダイジェストを問い合わせ、 WANDB_DOCKER 環境 変数を自動的に設定します。

復元(Restoring)

Run が WANDB_DOCKER 環境 変数とともに計測されていた場合、 wandb restore username/project:run_id を呼び出すと、コードを復元する新しいブランチをチェックアウトし、 トレーニング で使用されたのと全く同じ Docker イメージを、元の コマンド が入力された状態で ローンンチ します。