メインコンテンツへスキップ
このページでは、W&B Sweeps の実行時に発生する可能性がある一般的なエラーメッセージの診断方法と解決方法を説明します。以下のセクションでは、各エラーの内容、発生する理由、そして推奨される対処方法を説明します。

CommError, Run does not existERROR Error uploading

W&B がこれら 2 つのエラーメッセージを両方とも返す場合は、W&B run ID を定義している可能性があります。たとえば、Jupyter Notebook や Python スクリプトのどこかに、次のようなコードスニペットがあるかもしれません。
W&B Sweeps では run ID を設定できません。これは、sweeps が作成する runs には、W&B がランダムな一意の ID を自動的に生成するためです。 W&B の run ID は、プロジェクト内で一意である必要があります。 表やグラフに表示されるカスタムの名を設定したい場合は、W&B の初期化時に name パラメーターに名を渡します。例:
wandb.init() から id 引数を削除すると、sweep が独自の一意な run ID を割り当てられるようになり、アップロード エラーは発生しなくなります。

CUDA out of memory

このエラーメッセージが表示された場合は、プロセスベースの実行を使用するようにコードをリファクタリングしてください。各試行をそれぞれ独立したプロセスで実行すると、W&B は各実行の間に GPU メモリを解放します。 コードをリファクタリングするには、次の手順を実行してください。
  1. コードを train.py という名前の Python スクリプトとして書き直します。YAML の sweep 設定ファイル (この例では config.yaml) に、トレーニングスクリプト (train.py) の名前を追加します。
  2. train.py Python スクリプトに次の内容を追加します。
  3. CLI から、wandb sweep を使用して sweep を初期化します。
  4. W&B が返す sweep ID をメモしておきます。Python SDK (wandb.agent()) ではなく、CLI から wandb agent を使用して sweep ジョブを開始します。次のコード例の [SWEEP-ID] を、前の手順で W&B が返した sweep ID に置き換えます。
トレーニングコードを CLI エージェントの下でスクリプトとして実行すると、各試行はそれぞれ独立したプロセスで実行され、W&B は各実行の間に GPU メモリを解放します。

anaconda 400 error

通常、以下のエラーは、最適化対象のメトリクスをログしていない場合に発生します。
YAML ファイルまたはネストされた辞書内で、最適化する metric というキーを指定します。このメトリクスを wandb.Run.log() でログしていることを確認してください。さらに、Python スクリプトまたは Jupyter Notebook では、sweep で最適化対象として定義したメトリクス名と完全に同じ名を使用していることを確認してください。設定ファイルの詳細については、sweep 設定を定義するを参照してください。