Skip to main content
wandb.log() の呼び出し時に HTTP 429 Rate limit exceeded エラーが返された場合は、project のレート制限のクォータを超過しています。W&B ではレート制限は project ごとに適用され、有料プランでは無料プランより高い制限が設定されています。

レート制限を超えないようにする方法

  1. W&B SDK を更新する: 最新バージョンでは、リクエストの再試行やクォータ使用量の管理が最適化されています。
    pip install --upgrade wandb
    
  2. ログの頻度を下げる: メトリクスをログする頻度を減らします。たとえば、毎エポックではなく、N エポックごとにログします。
    for epoch in range(100):
        if epoch % 5 == 0:
            wandb.log({"acc": accuracy, "loss": loss})
    
  3. データを手動で同期する: レート制限に達した場合、W&B は run データをローカルに保存します。後で次のコマンドで同期できます。
    wandb sync <run-file-path>
    

レート制限ヘッダー

レート制限に達すると、レスポンスには次のヘッダーが含まれます。
Header説明
RateLimit-Remaining現在のウィンドウで残っているクォータ (0〜1000 の範囲)
RateLimit-Reset現在のクォータがリセットされるまでの秒数
RateLimit-Remaining0 の場合は、再試行する前に RateLimit-Reset で指定された秒数だけ待機してください。 詳細は、Experiments の制限とパフォーマンスを参照してください。
メトリクス Experiments