run を巻き戻す機能は現在活発に開発が進められています。Multi-tenant Cloud および専用クラウドではプレビューとして提供されており、セルフマネージドではまだ利用できません。巻き戻しには既知のパフォーマンス上の制約があるため、W&B は通常、代替手段として フォークする を推奨しています。
前提条件
- run を巻き戻すには、W&B Python SDK のバージョン
0.17.1以降が必要です。 - 単調増加する step を使用する必要があります。
define_metric()で定義した非単調な step は、run の履歴に必要な時系列順を乱すため、使用できません。
制限事項
- ログの巻き戻し: 新しい run セグメントではログがリセットされます。
- システムメトリクスの巻き戻し: W&B は巻き戻しポイント以降の新しいシステムメトリクスのみをログします。
- artifact の関連付け: W&B は artifact を、それを生成したソース run に関連付けます。
- 履歴の切り詰め: W&B は履歴を巻き戻しポイントで切り詰め、新しいデータをログできるようにします。
- summary メトリクス: 新たにログされた履歴に基づいて再計算されます。
- 設定の保持: W&B は元の設定を保持し、新しい設定をマージできます。
巻き戻しとフォークの互換性
run を巻き戻す
wandb.init() の resume_from パラメーターには、巻き戻したい run の run ID と step の両方を引数として渡します。resume_from パラメーターは、<run ID>?_step=<step> 形式の文字列を受け取ります。ここで、<run ID> は巻き戻したい run の run ID、<step> は巻き戻しを開始する step です。
300 step にわたって直線をログするとします:

additional_metric という新しいメトリクスに step 200 から step 300 まで i*1.1 をログしたいとします。さらに、step 250 以降は直線ではなく、緩やかに波打つ新しいパターン (i**2 + 2*sin(i/3)) をログしたいとします。
- 折れ線グラフでは、step 0 から step 200 まで元の直線的な線が表示され、step 250 から新しいわずかに波打つパターンが始まっています (左の画像) 。
- W&B は、step 200 から始まる
additional_metricというラベルの新しいプロット (右のプロット) を作成しました。

アーカイブされた run を表示する
- Overview タブにアクセスする: run のページの Overview タブ にアクセスします。このタブでは、run の詳細と履歴をまとめて確認できます。
- Forked From フィールドを見つける: Overview タブ内で、
Forked Fromフィールドを見つけます。このフィールドには、再開の履歴が記録されています。Forked From フィールドにはソース run へのリンクが含まれているため、元の run までたどって巻き戻し履歴全体を把握できます。
Forked From フィールドを使うと、アーカイブされた再開のツリー内を簡単にたどり、各巻き戻しの順序と起点を確認できます。
巻き戻した run からフォークする
wandb.init() で fork_from 引数を使用し、フォーク元とするソース run ID と、そのソース run の step を指定します。