W&B import guide

Migrate W&B run history into InstantML with a local-first, dry-run-first CLI flow that preserves runs, configs, scalar metrics, tags, notes, and artifact references.

Open .md

Migrate real W&B run history into an InstantML workspace before you change a single training script. The CLI reads runs through the local W&B SDK on your machine, normalizes them into import chunks, uploads a dry-run summary, and writes runs only after you commit β€” your W&B credentials never reach InstantML servers.

Know what the importer preserves

The W&B importer focuses on the migration spine:

  • Run names and source identities.
  • Scalar metric history and metric summaries.
  • Config values and parameters.
  • Tags and notes when present.
  • Source metadata.
  • Artifact references: declared sizes, MIME types, and metadata-only artifact catalog bundles.
  • Import warnings and diagnostics.

The importer does not copy W&B artifact bytes into InstantML storage. Imported artifact references appear in the dashboard, but downloads stay unavailable until you upload the actual bytes with the SDK.

Install and authenticate

Install the optional W&B integration and authenticate both CLIs locally:

bash
pip install "instantml[wandb]"
instantml login
wandb login

instantml login authenticates the InstantML CLI. wandb login authenticates the local W&B SDK. InstantML servers do not receive your W&B API token.

Run a dry-run import

Start with one representative source project:

bash
instantml import wandb \
  --project cartpole \
  --entity my-team \
  --source-project old-project \
  --dry-run

The dry run uploads staged import chunks and a summary without committing runs to the target project. The CLI prints the job id, job status, and run, metric, and artifact counts.

Review before committing:

  • Imported run count.
  • Metric point count.
  • Artifact-reference count.
  • Target InstantML project.

For the full warning messages, config shape, and progress detail, fetch the job over the API:

bash
curl https://api.instantml.ai/api/imports/jobs/42 \
  -H "Authorization: Bearer instantml_..."

Commit after review

If the dry-run summary looks right, rerun the same command without --dry-run to commit:

bash
instantml import wandb \
  --project cartpole \
  --entity my-team \
  --source-project old-project

After commit, open the target project in the Runs workspace.

Verify the imported project

Check that:

  • Expected run names appear.
  • Tags and notes are searchable.
  • Config values appear in Run Detail and Compare.
  • Scalar metrics render in charts.
  • Metric-best sorting works for important keys.
  • Artifact references are attached to the right runs.
  • Source metadata includes the external run identity.

If something looks wrong, cancel the staged job and rerun with a smaller source project or corrected source arguments:

bash
curl -X POST https://api.instantml.ai/api/imports/jobs/42/cancel \
  -H "Authorization: Bearer instantml_..."

Roll out in low-risk steps

A low-risk migration usually looks like this:

  1. Dry-run import one small or medium project.
  2. Inspect counts and warnings.
  3. Commit that project.
  4. Run one new training job with the InstantML SDK.
  5. Compare imported history and new runs in the same dashboard.
  6. Decide whether to import more history, dual-log, or switch future runs.

Respect the boundaries

The W&B importer does not claim full W&B parity for sweeps, reports, launch, server-side hosted W&B credential pulls, or every artifact-byte migration pattern. It preserves the core experiment history needed to evaluate and compare training runs in InstantML.

Next steps