Lightning-AI/pytorch-lightning · error · ValueError

f"`Trainer(barebones=True, num_sanity_val_steps={num_sanity_

Error message

f"`Trainer(barebones=True, num_sanity_val_steps={num_sanity_val_steps!r})` was passed." " Sanity checking can impact raw speed so it is disabled in barebones mode."

What it means

Trainer was created with barebones=True while num_sanity_val_steps was set to a non-zero value. The sanity check runs validation batches before training and can affect raw speed, so barebones mode rejects it.

Source

Thrown at src/lightning/pytorch/trainer/trainer.py:368

                raise ValueError(
                    f"`Trainer(barebones=True, enable_progress_bar={enable_progress_bar!r})` was passed."
                    " The progress bar can impact raw speed so it is disabled in barebones mode."
                )
            enable_progress_bar = False
            if log_every_n_steps is not None and log_every_n_steps != 0:
                raise ValueError(
                    f"`Trainer(barebones=True, log_every_n_steps={log_every_n_steps!r})` was passed."
                    " Logging can impact raw speed so it is disabled in barebones mode."
                )
            log_every_n_steps = 0
            if enable_model_summary:
                raise ValueError(
                    f"`Trainer(barebones=True, enable_model_summary={enable_model_summary!r})` was passed."
                    " Model summary can impact raw speed so it is disabled in barebones mode."
                )
            enable_model_summary = False
            if num_sanity_val_steps is not None and num_sanity_val_steps != 0:
                raise ValueError(
                    f"`Trainer(barebones=True, num_sanity_val_steps={num_sanity_val_steps!r})` was passed."
                    " Sanity checking can impact raw speed so it is disabled in barebones mode."
                )
            num_sanity_val_steps = 0
            # opt-ins
            if fast_dev_run is not False and fast_dev_run != 0:
                raise ValueError(
                    f"`Trainer(barebones=True, fast_dev_run={fast_dev_run!r})` was passed."
                    " Development run is not meant for raw speed evaluation so it is disabled in barebones mode."
                )
            if detect_anomaly:
                raise ValueError(
                    f"`Trainer(barebones=True, detect_anomaly={detect_anomaly!r})` was passed."
                    " Anomaly detection can impact raw speed so it is disabled in barebones mode."
                )
            if profiler is not None:
                raise ValueError(
                    f"`Trainer(barebones=True, profiler={profiler!r})` was passed."

View on GitHub (pinned to 9fed5c27d2)

Solutions

  1. Remove num_sanity_val_steps when using barebones=True
  2. Set num_sanity_val_steps=0 or None
  3. Drop barebones=True if sanity checking is needed

Example fix

// before
trainer = Trainer(barebones=True, num_sanity_val_steps=2)
// after
trainer = Trainer(barebones=True)
Defensive patterns

Strategy: validation

Validate before calling

if cfg.get("barebones"):
    cfg["num_sanity_val_steps"] = 0
trainer = Trainer(**cfg)

Prevention

When it happens

Trigger: Trainer(barebones=True, num_sanity_val_steps=2) (anything other than None or 0).

Common situations: Standard configs that set num_sanity_val_steps=2 being reused with barebones=True for speed runs.

Related errors


AI-assisted analysis of Lightning-AI/pytorch-lightning@9fed5c27d2 (2026-08-28). Data as JSON: /api/errors/55ecdf89606ca1c6. Report an issue: GitHub.