Skip to content

Conversation

@frazane
Copy link
Contributor

@frazane frazane commented Jan 19, 2026

This pull request updates how run identifiers and output paths are constructed for run data and output results.

Summary of changes

  • the run output directory name is given a more human-readable name e.g. forecaster-d084-91a251cd, interpolator-8d1e-on-forecaster-d084-1fa265c9, interpolator-8d1e-on-ana-1fa265c9
  • simplify structure of results output directories
  • reduce verbosity of snakemake console output, while improving console output form evalml
  • move "expensive" outputs to data dir for caching purposes

@jonasbhend
Copy link
Contributor

We should find a better solution than to trigger a complete rerun of everything if the label of a forecast run or baseline changes. This will come back to bite us when iterating to produce production-ready plots for papers, presentations etc.

I totally see the need to render plots in showcases and experiments more easily identifiable and think using the label there is probably the low-hanging fruit, but can we please avoid doing this for the inference and verification in output/data/...

Base automatically changed from feat/ergonomic-experiment-id to main January 21, 2026 11:03
@dnerini
Copy link
Member

dnerini commented Jan 28, 2026

new proposition is to distinguish more clearly between

  • output/data is a cache --> not human readble
  • output/results is main interface to user --> human readable

meaning that there is no need for caching results. Each evalml run creates a new results folde ordered by timestamp and if something needs caching because it's expensive (eg plotting all frames for showcases) it can be moved to output/data.

@dnerini dnerini marked this pull request as ready for review January 29, 2026 13:00
@dnerini
Copy link
Member

dnerini commented Jan 29, 2026

PR 's ready for review @MeteoSwiss/s-ruc

example output:

image

and in the console:

(evalml) ned@balfrin-ln001:~/src/evalmldev> evalml showcase config/interpolators-co2.yaml
host: balfrin-ln001
Building DAG of jobs...
SLURM run ID: 16c2ff94-9282-4ef9-bbaf-15266c9c316c
Using shell: /usr/local/bin/bash
Provided remote nodes: 50
Provided resources: gpus=16

Job stats:
job                               count
------------------------------  -------
create_inference_pyproject            3
create_inference_venv                 3
execute_inference                    12
make_forecast_animation              72
make_squashfs_image                   3
plot_forecast_frame                6312
plot_meteogram                       72
prepare_inference_forecaster          4
prepare_inference_interpolator        8
showcase_all                          1
write_summary                         3
total                              6493
────────────────────────────────────────────────────────────────────────
🚀 EvalML workflow started
   Time:        2026-01-29 14:07:12
   Snakemake:   snakemake --executor slurm --resources gpus=16 --default-resources slurm_partition=postproc cpus_per_task=1 mem_mb_per_cpu=1800 runtime=1h --jobs 50 --groups plot_forecast_frame=plot_forecast_frame --group-components plot_forecast_frame=32 --configfile config/interpolators-co2.yaml --cores 4 showcase_all --quiet rules

   Workdir:     /users/ned/src/evalmldev
   Config:      interpolators-co2.yaml
   Experiment:  20260129_interpolators-co2_8719abb0
   Candidates:  interpolator-8d1e-on-analysis-a712b892, forecaster-d084-91a251cd, interpolator-8d1e-on-forecaster-d084-1fa265c9
   Data dir:    output/data
   Logs dir:    output/logs
   Results dir: output/results/20260129_interpolators-co2_8719abb0
────────────────────────────────────────────────────────────────────────

Select jobs to execute...
Execute 3 jobs...
[...]
373 of 374 steps (99.7%) done
Select jobs to execute...
Execute 1 jobs...
[Thu Jan 29 13:54:54 2026]
Finished jobid: 0 (Rule: showcase_all)
374 of 374 steps (100%) done
Cleaning up log files older than 10 day(s).

Complete log(s): /users/ned/src/evalmldev/.snakemake/log/2026-01-29T133007.301999.snakemake.log
────────────────────────────────────────────────────────────────────────
✅ Workflow finished successfully
   Duration:  25m 17s
   Results:   output/results/20260129_interpolators-co2_9afe91fb
────────────────────────────────────────────────────────────────────────

@dnerini dnerini requested a review from jonasbhend January 29, 2026 13:09
@dnerini dnerini self-assigned this Jan 29, 2026
@dnerini dnerini removed the request for review from jonasbhend January 29, 2026 19:40
@jonasbhend
Copy link
Contributor

I won't have time to do a proper review, but I like the proposed changes.

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.

4 participants