メインコンテンツへスキップ
run をフォークする機能は現在も活発に開発中です。Multi-tenant Cloud と専用クラウドではプレビューとして提供されており、セルフマネージドではまだ利用できません。
元の run に影響を与えることなく、実験内の特定の時点から別のハイパーパラメーターやモデルを試すことができます。これを行うには、既存の W&B run からフォークします。 run からフォークすると、W&B はソース run の一意の IDと指定した step を使って新しい run を作成します。ソース run の summary メトリクスは、フォークした run にコピーされます。フォークした run は、指定した step までのすべての history とファイルをソース run と共有します。 フォークした step 以降は、元の run とは独立して、新しいデータをフォークした run にログできます。 以下のコードで生成されたフォークした run のライブデモをご覧ください。
  • run のフォークには wandb SDK バージョン >= 0.16.5 が必要です
  • run のフォークでは、step が単調増加する必要があります。define_metric() で定義された非単調な step を使用する run からはフォークできません。非単調な step は、run history とシステムメトリクスの時系列順を崩します。
フォークした run を開始するソース run の一意の run IDstep を、wandb.init()fork_from に引数として指定します。

以前にログしたrunからフォークする

以下のコードスニペットは、以前にW&Bにログしたrunからフォークする方法を示します。 まず、フォーク元にしたいrunのrun IDを取得します。次に、wandb.init()fork_from に、run IDとフォーク元にしたいstepを引数として指定します。 以下のコードをPythonスクリプトまたはノートブックのセルにコピー&ペーストします。<source-run-id><project><entity>を自身の値に置き換えてください。

同じスクリプト内でrunからフォークする

次のコードスニペットは、runを作成し、同じスクリプト内でそのrunからフォークする方法を示しています。これは、W&B Appでrun IDを調べることなく、作成したばかりのrunからフォークしたい場合に該当します。 まず、runを初期化して、いくつかのデータをログします。次に、元のrunオブジェクトのidプロパティを使用して、そのrunのrun IDを取得します。最後に、新しいrunを初期化し、元のrunのIDとフォーク元にしたいstepをwandb.init()fork_fromに引数として渡します。
original_run.id プロパティを使用すると、元の run の一意な run ID を取得できます。

スクリプトの例

たとえば、次のコード例は、まず run をフォークし、その後トレーニングの step 200 から、フォークした run にメトリクスをログする方法を示しています。 次のコードを Python スクリプトまたはノートブックのセルにコピー&ペーストしてください。<project><entity> はご自身の値に置き換えてください。
巻き戻しとフォークの互換性フォークは 巻き戻し を補完する機能で、run の管理や実験をより柔軟に行えます。run からフォークすると、W&B は run の特定の時点から新しいブランチを作成し、異なるパラメーターやモデルを試せるようにします。run を巻き戻すと、W&B では run の履歴自体を修正または変更できます。