Skip to content

feat: add progress tracking for suite benchmarking #1497 - #1524

Closed
darkangrycoder wants to merge 2 commits into
openml:developfrom
darkangrycoder:develop
Closed

darkangrycoder wants to merge 2 commits into
openml:developfrom
darkangrycoder:develop

Conversation

@darkangrycoder

@darkangrycoder darkangrycoder commented Nov 28, 2025 •

Copy link
Copy Markdown

Progress Tracking for OpenML Benchmark Suites

Fixes #1497

Problem

When benchmarking models across OpenML suites (e.g., OpenML-CC18), users currently have no visibility into:

  • How many tasks have completed
  • How long each task takes
  • Estimated time remaining
  • Whether the process is still running or has stalled

Solution

Added run_suite_with_progress() function that wraps suite benchmarking with real-time progress tracking using tqdm.

New Features

  • Real-time progress bars with ETA for suite execution
  • Task completion tracking with success/failure counts
  • Time monitoring for each task and total suite
  • Error resilience - continues execution on task failures
  • Detailed metrics - timing, success rates, per-task results

New Functions

def run_suite_with_progress(suite_id, model, **kwargs) -> Dict[str, Any]
def run_model_on_task_with_progress(model, task, progress_callback=None, **kwargs) -> OpenMLRun

@PGijsbers PGijsbers left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the slow response. I think at this time we are not looking to increase the surface area of the API for features which are easily taken care of by a user (such as writing a loop with tqdm progress bar). If we were to do something like this in the future, I think it would be more likely that we would consider expanding run_model_on_task to take a task list as opposed to adding a new separate function.
But for now I will close this PR, but thanks for your effort.
If you are still looking to contribute, we are starting to have some more availability to engage in discussions on the issues, which is advised before moving on the create a PR.
Also duplicate of #1498

Comment thread openml/runs/functions.py
flow_id = flow_exists(flow.name, flow.external_version)
if isinstance(flow.flow_id, int) and flow_id != flow.flow_id:
if flow_id is not False:
if flow_id is False:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is incorrect.

@PGijsbers PGijsbers closed this Dec 11, 2025
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.

feat: add progress tracking for suite benchmarking

2 participants