run を巻き戻す機能は現在開発中です。Multi-tenant Cloud と専用クラウドではプレビュー版として提供されていますが、セルフマネージドではまだ利用できません。巻き戻しにはパフォーマンス上の既知の制限があるため、W&B では通常、代わりに フォーク を使用することを推奨しています。
前提条件
run を巻き戻す前に、次の前提条件を満たしていることを確認してください。- run を巻き戻すには、W&B Python SDK のバージョン
0.17.1以上が必要です。 - 単調増加する ステップ を使用する必要があります。
define_metric()で定義した単調増加でない ステップ では機能しません。run の履歴に必要な時系列順が崩れるためです。
制限事項
巻き戻しでは、次の機能はサポートされていません。- ログの巻き戻し: 新しい run セグメントではログがリセットされます。
- システムメトリクスの巻き戻し: W&B は、巻き戻しポイント以降の新しいシステムメトリクスのみをログします。
- アーティファクトの関連付け: W&B は、アーティファクトを、それを生成したソース run に関連付けます。
- 履歴の切り詰め: W&B は履歴を巻き戻しポイントまで切り詰め、新しいデータをログできるようにします。
- サマリー メトリクス: 新たにログされた履歴に基づいて再計算されます。
- 設定の保持: W&B は元の設定を保持します。新しい設定をマージすることもできます。
巻き戻しとフォークの互換性
フォークは巻き戻しを補完する機能です。 run からフォークすると、W&B は run の特定のポイントから新しいブランチを作成するため、異なるパラメーターやモデルを試すことができます。 run を巻き戻すと、run の履歴そのものを修正または変更できます。run を巻き戻す
run を特定の ステップ まで巻き戻し、その時点から新しいデータをログします。巻き戻したい run の ID と、巻き戻しの起点となる ステップ を、wandb.init() の resume_from パラメーターに引数として渡します。resume_from パラメーターには <run ID>?_step=<step> という形式の string を指定します。<run ID> は巻き戻したい run の run ID、<step> は巻き戻しの起点となる ステップ です。
たとえば、300 ステップ にわたって直線をログするとします。

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

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