Skip to content

Show training progress in the terminal and MLflow console log (upstream #32) - #4

Merged
leifdenby merged 4 commits into
dev/dmi-convgru-trainingfrom
merge/console-progress-into-dev
Oct 17, 2026
Merged

leifdenby merged 4 commits into
dev/dmi-convgru-trainingfrom
merge/console-progress-into-dev

Conversation

@leifdenby

Copy link
Copy Markdown

Brings the training-progress fix from upstream #32 (commit 20bb7fb there) into dev/dmi-convgru-training, as a cherry-pick (#1 was squash-merged, so a merge of mlcast-community#32's branch conflicts with itself).

Why

With fiddler:use_mlflow_logger, training showed no progress bar in the terminal and nothing after "MLflow run started" in the run's logs/console.log (seen on upbeat-croc-674 on 27sj894):

  • The console capture points fds 1/2 at pipes, so Lightning's default RichProgressBar sees no terminal and hides its live display.
  • A progress bar redraws one line and never ends it until the epoch finishes, so even a working bar never reaches the line-based log; a DMI epoch is longer than a whole run.

What

  • use_mlflow_logger switches the progress bar to TQDMProgressBar (unless one is already configured), which shows in the terminal again.
  • New LogTrainingProgressCallback, added by use_mlflow_logger, logs one line every 60 s (progress_log_interval_seconds): step, epoch/batch, train_loss_step, steps/s, samples/s, elapsed and remaining time (from max_time).
  • CHANGELOG: the "(pending upstream)" Harden MLflow hyperparameter logging and upload the console log to MLflow mlcast-community/mlcast#32 entry describes this and links the commit.

Tests

  • New unit tests for the callback and the fiddler wiring; end-to-end CPU training run against a local MLflow file store shows the TQDM bar and the progress lines in console.log.
  • uv run --extra cpu pytest tests: 146 passed, 5 skipped, 1 failed. The failure, tests/config/test_dmi.py::test_dmi_500m_10min_convgru_experiment_config, is already on dev/dmi-convgru-training: 214dbd5 changed the train split to start 2019-07-13 without updating the test. Fixed in the companion index-path PR.

The running job (upbeat-croc-674) is unaffected; this applies to runs started after it's merged and pulled.

🤖 Generated with Claude Code

leifdenby and others added 2 commits October 16, 2026 23:18
…turing

The console capture points fds 1/2 at pipes, so Lightning's default
RichProgressBar sees no terminal and hides its live display, and a
progress bar never ends its line, so nothing reached console.log.
use_mlflow_logger now switches to TQDMProgressBar (unless a bar is
configured) and adds LogTrainingProgressCallback, which logs a one-line
progress summary every progress_log_interval_seconds (default 60).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@leifdenby
leifdenby requested a review from arjj8 October 16, 2026 21:20
leifdenby and others added 2 commits October 17, 2026 07:54
The previous commit re-rendered it with a newer local Graphviz (12.2.1 vs
CI's 2.43.0), which CI's --check flags as out of date. Nothing in this PR
changes the base config the diagram is drawn from.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@leifdenby
leifdenby merged commit b807627 into dev/dmi-convgru-training Oct 17, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant