Sweeps troubleshooting
less than a minute
提案されたガイダンスに従って、一般的なエラーメッセージのトラブルシューティングを行います。
CommError, Run does not exist
および ERROR Error uploading
これらの 2 つのエラーメッセージが両方とも返された場合、W&B の Run ID が定義されている可能性があります。例として、Jupyter Notebook または Python スクリプトのどこかに、次のようなコードスニペットが定義されている可能性があります。
wandb.init(id="some-string")
W&B は W&B Sweeps によって作成された Runs に対して、ランダムでユニークな ID を自動的に生成するため、W&B Sweeps の Run ID を設定することはできません。
W&B の Run ID は、1 つの project 内でユニークである必要があります。
W&B を初期化する際に、テーブルやグラフに表示されるカスタム名を付けたい場合は、name パラメータに名前を渡すことをお勧めします。例:
wandb.init(name="a helpful readable run name")
Cuda out of memory
このエラーメッセージが表示された場合は、コードをリファクタリングして、プロセスベースの実行を使用するようにします。より具体的には、コードを Python スクリプトに書き換えます。さらに、W&B Python SDK ではなく、CLI から W&B Sweep Agent を呼び出します。
例として、コードを train.py
という Python スクリプトに書き換えたとします。トレーニングスクリプトの名前 (train.py
) を YAML Sweep configuration ファイル (config.yaml
(この例)) に追加します。
program: train.py
method: bayes
metric:
name: validation_loss
goal: maximize
parameters:
learning_rate:
min: 0.0001
max: 0.1
optimizer:
values: ["adam", "sgd"]
次に、次のコードを train.py
Python スクリプトに追加します。
if _name_ == "_main_":
train()
CLI に移動し、wandb sweep
で W&B Sweep を初期化します。
wandb sweep config.yaml
返された W&B Sweep ID をメモします。次に、Python SDK (wandb.agent
) ではなく、CLI で wandb agent
を使用して Sweep ジョブを開始します。次のコードスニペットの sweep_ID
を、前の手順で返された Sweep ID に置き換えます。
wandb agent sweep_ID
anaconda 400 error
次のエラーは通常、最適化しているメトリックをログに記録しない場合に発生します。
wandb: ERROR Error while calling W&B API: anaconda 400 error:
{"code": 400, "message": "TypeError: bad operand type for unary -: 'NoneType'"}
YAML ファイルまたはネストされた辞書の中で、最適化する「metric」という名前のキーを指定します。このメトリックを必ずログに記録 (wandb.log
) してください。さらに、Python スクリプトまたは Jupyter Notebook 内で Sweep を最適化するために定義した 正確な メトリック名を使用してください。設定ファイルの詳細については、Sweep configuration の定義 を参照してください。
[i18n] feedback_title
[i18n] feedback_question
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.