-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Optimize Run + Design Except Feature + Various (#70)
## Optimize config/dir creation As part of the setup, before running experiments, we create all working directories and place the `config.json` in the folder. Until now, this relied on pure Ansible. However, for many jobs, this creation becomes a bottleneck. Now, there is a custom module that does this more efficiently. ## Optimize result fetching We replaced the slow fetching of results with an additional custom module. More efficiency is possible because now `tsp` or `slurm` do not need to process a completing job id one-by-one. Instead, they can report that a list of job ids finished and can be downloaded. ## New Experiment Design Feature: `except_filters` We added a basic implementation of #71 that allows filtering out certain combinations. ## New Super ETL Feature: `pipelines` filter We add the possibility when running a super_etl via make to run only a subset of pipelines (see `pipelines="a b"`) ## ETL Extract Optimization We only flatten results that require flattening, which speeds up the processing. ## ETL Step We add a new ETL Loader that allows storing a data frame as a pickle. ## Option to save ETL results to Notion We add a utility function that allows storing the results of a loader to a Notion page. --------- Co-authored-by: Hidde L <[email protected]>
- Loading branch information
1 parent
4676b5d
commit 65f3ebc
Showing
73 changed files
with
707 additions
and
648 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,6 +20,7 @@ minimal: | |
- '!' | ||
factor_levels: | ||
- {} | ||
except_filters: [] | ||
$ETL$: | ||
check_error: | ||
experiments: | ||
|
12 changes: 6 additions & 6 deletions
12
..._project/doe-suite-results/example02-single_$expected/etl_results/pipeline1/pipeline1.csv
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
,suite_name,suite_id,exp_name,run,host_type,host_idx,factor_columns,source_file,opt,out,payload_size_mb,$CMD$.small,latency_mean,latency_min,latency_max,latency_std,latency_count | ||
0,example02-single,$expected,experiment_1,0,small,0,"['payload_size_mb', 'opt']",demo_latency_out.json,True,json,10,[{'main': '/cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/.venv/bin/python /cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/demo_latency.py --opt True --size 10 --out json'}],14.9329070714,14.9329070714,14.9329070714,0.0,2 | ||
1,example02-single,$expected,experiment_1,1,small,0,"['payload_size_mb', 'opt']",demo_latency_out.json,False,json,10,[{'main': '/cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/.venv/bin/python /cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/demo_latency.py --opt False --size 10 --out json'}],27.9329070714,27.9329070714,27.9329070714,0.0,2 | ||
2,example02-single,$expected,experiment_1,2,small,0,"['payload_size_mb', 'opt']",demo_latency_out.json,True,json,20,[{'main': '/cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/.venv/bin/python /cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/demo_latency.py --opt True --size 20 --out json'}],28.9329070714,28.9329070714,28.9329070714,0.0,2 | ||
3,example02-single,$expected,experiment_1,3,small,0,"['payload_size_mb', 'opt']",demo_latency_out.json,False,json,20,[{'main': '/cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/.venv/bin/python /cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/demo_latency.py --opt False --size 20 --out json'}],54.9329070714,54.9329070714,54.9329070714,0.0,2 | ||
4,example02-single,$expected,experiment_1,4,small,0,"['payload_size_mb', 'opt']",demo_latency_out.json,True,json,30,[{'main': '/cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/.venv/bin/python /cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/demo_latency.py --opt True --size 30 --out json'}],42.9329070714,42.9329070714,42.9329070714,0.0,2 | ||
5,example02-single,$expected,experiment_1,5,small,0,"['payload_size_mb', 'opt']",demo_latency_out.json,False,json,30,[{'main': '/cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/.venv/bin/python /cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/demo_latency.py --opt False --size 30 --out json'}],81.9329070714,81.9329070714,81.9329070714,0.0,2 | ||
0,example02-single,$expected,experiment_1,0,small,0,"['payload_size_mb', 'opt']",demo_latency_out.json,True,json,10,[{'main': '/cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/.venv/bin/python /cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/demo_latency.py --opt True --size 10 --out json'}],14.932907071384278,14.932907071384278,14.932907071384278,0.0,2 | ||
1,example02-single,$expected,experiment_1,1,small,0,"['payload_size_mb', 'opt']",demo_latency_out.json,False,json,10,[{'main': '/cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/.venv/bin/python /cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/demo_latency.py --opt False --size 10 --out json'}],27.932907071384278,27.932907071384278,27.932907071384278,0.0,2 | ||
2,example02-single,$expected,experiment_1,2,small,0,"['payload_size_mb', 'opt']",demo_latency_out.json,True,json,20,[{'main': '/cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/.venv/bin/python /cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/demo_latency.py --opt True --size 20 --out json'}],28.932907071384278,28.932907071384278,28.932907071384278,0.0,2 | ||
3,example02-single,$expected,experiment_1,3,small,0,"['payload_size_mb', 'opt']",demo_latency_out.json,False,json,20,[{'main': '/cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/.venv/bin/python /cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/demo_latency.py --opt False --size 20 --out json'}],54.93290707138428,54.93290707138428,54.93290707138428,0.0,2 | ||
4,example02-single,$expected,experiment_1,4,small,0,"['payload_size_mb', 'opt']",demo_latency_out.json,True,json,30,[{'main': '/cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/.venv/bin/python /cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/demo_latency.py --opt True --size 30 --out json'}],42.93290707138428,42.93290707138428,42.93290707138428,0.0,2 | ||
5,example02-single,$expected,experiment_1,5,small,0,"['payload_size_mb', 'opt']",demo_latency_out.json,False,json,30,[{'main': '/cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/.venv/bin/python /cluster/home/kunicola/doe-suite/example_nku/example02-single/code/demo_project/demo_latency.py --opt False --size 30 --out json'}],81.93290707138428,81.93290707138428,81.93290707138428,0.0,2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file modified
0
...project/doe-suite-results/example03-format_$expected/format_cross/run_0/rep_0/config.json
100755 → 100644
Empty file.
Empty file modified
0
...project/doe-suite-results/example03-format_$expected/format_cross/run_1/rep_0/config.json
100755 → 100644
Empty file.
14 changes: 0 additions & 14 deletions
14
...roject/doe-suite-results/example03-format_$expected/format_cross/run_10/rep_0/config.json
This file was deleted.
Oops, something went wrong.
Empty file.
1 change: 0 additions & 1 deletion
1
...uite-results/example03-format_$expected/format_cross/run_10/rep_0/small/host_0/stdout.log
This file was deleted.
Oops, something went wrong.
14 changes: 0 additions & 14 deletions
14
...roject/doe-suite-results/example03-format_$expected/format_cross/run_11/rep_0/config.json
This file was deleted.
Oops, something went wrong.
Empty file.
1 change: 0 additions & 1 deletion
1
...uite-results/example03-format_$expected/format_cross/run_11/rep_0/small/host_0/stdout.log
This file was deleted.
Oops, something went wrong.
Empty file modified
0
...project/doe-suite-results/example03-format_$expected/format_cross/run_2/rep_0/config.json
100755 → 100644
Empty file.
Empty file modified
0
...project/doe-suite-results/example03-format_$expected/format_cross/run_3/rep_0/config.json
100755 → 100644
Empty file.
Empty file modified
0
...project/doe-suite-results/example03-format_$expected/format_cross/run_4/rep_0/config.json
100755 → 100644
Empty file.
Empty file modified
0
...project/doe-suite-results/example03-format_$expected/format_cross/run_5/rep_0/config.json
100755 → 100644
Empty file.
Empty file modified
0
...project/doe-suite-results/example03-format_$expected/format_cross/run_6/rep_0/config.json
100755 → 100644
Empty file.
Empty file modified
0
...project/doe-suite-results/example03-format_$expected/format_cross/run_7/rep_0/config.json
100755 → 100644
Empty file.
Empty file modified
0
...project/doe-suite-results/example03-format_$expected/format_cross/run_8/rep_0/config.json
100755 → 100644
Empty file.
Empty file modified
0
...project/doe-suite-results/example03-format_$expected/format_cross/run_9/rep_0/config.json
100755 → 100644
Empty file.
4 changes: 2 additions & 2 deletions
4
demo_project/doe-suite-results/example03-format_$expected/format_cross/state.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
--- | ||
|
||
exp_job_ids: [{'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 0, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 1, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 2, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 3, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 4, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 5, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 6, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 7, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 8, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 9, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 10, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 11, 'exp_run_rep': 0}] | ||
exp_job_ids: [{'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 0, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 1, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 2, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 3, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 4, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 5, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 6, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 7, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 8, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 9, 'exp_run_rep': 0}] | ||
exp_job_ids_unfinished: [] # pending + queued + running | ||
exp_job_ids_pending: [] | ||
exp_job_ids_queued: [] | ||
exp_job_ids_running: [] | ||
exp_job_ids_finished: [{'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 0, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 1, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 2, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 3, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 4, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 5, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 6, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 7, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 8, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 9, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 10, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 11, 'exp_run_rep': 0}] | ||
exp_job_ids_finished: [{'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 0, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 1, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 2, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 3, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 4, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 5, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 6, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 7, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 8, 'exp_run_rep': 0}, {'suite': 'example03-format', 'suite_id': '$expected', 'exp_name': 'format_cross', 'exp_run': 9, 'exp_run_rep': 0}] |
Empty file modified
0
...ect/doe-suite-results/example03-format_$expected/format_levellist/run_0/rep_0/config.json
100755 → 100644
Empty file.
Empty file modified
0
...ect/doe-suite-results/example03-format_$expected/format_levellist/run_1/rep_0/config.json
100755 → 100644
Empty file.
Empty file modified
0
...ect/doe-suite-results/example03-format_$expected/format_levellist/run_2/rep_0/config.json
100755 → 100644
Empty file.
Empty file modified
0
...project/doe-suite-results/example03-format_$expected/format_mixed/run_0/rep_0/config.json
100755 → 100644
Empty file.
Empty file modified
0
...project/doe-suite-results/example03-format_$expected/format_mixed/run_1/rep_0/config.json
100755 → 100644
Empty file.
15 changes: 0 additions & 15 deletions
15
...roject/doe-suite-results/example03-format_$expected/format_mixed/run_10/rep_0/config.json
This file was deleted.
Oops, something went wrong.
Empty file.
1 change: 0 additions & 1 deletion
1
...uite-results/example03-format_$expected/format_mixed/run_10/rep_0/small/host_0/stdout.log
This file was deleted.
Oops, something went wrong.
15 changes: 0 additions & 15 deletions
15
...roject/doe-suite-results/example03-format_$expected/format_mixed/run_11/rep_0/config.json
This file was deleted.
Oops, something went wrong.
Empty file.
1 change: 0 additions & 1 deletion
1
...uite-results/example03-format_$expected/format_mixed/run_11/rep_0/small/host_0/stdout.log
This file was deleted.
Oops, something went wrong.
Empty file modified
0
...project/doe-suite-results/example03-format_$expected/format_mixed/run_2/rep_0/config.json
100755 → 100644
Empty file.
Empty file modified
0
...project/doe-suite-results/example03-format_$expected/format_mixed/run_3/rep_0/config.json
100755 → 100644
Empty file.
Empty file modified
0
...project/doe-suite-results/example03-format_$expected/format_mixed/run_4/rep_0/config.json
100755 → 100644
Empty file.
Empty file modified
0
...project/doe-suite-results/example03-format_$expected/format_mixed/run_5/rep_0/config.json
100755 → 100644
Empty file.
Empty file modified
0
...project/doe-suite-results/example03-format_$expected/format_mixed/run_6/rep_0/config.json
100755 → 100644
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...suite-results/example03-format_$expected/format_mixed/run_7/rep_0/small/host_0/stdout.log
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
run app=app2 with hyperparam=10 vec=40 seed=1234 | ||
run app=app3 with hyperparam=5 vec=10 seed=1234 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...suite-results/example03-format_$expected/format_mixed/run_8/rep_0/small/host_0/stdout.log
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
run app=app3 with hyperparam=5 vec=10 seed=1234 | ||
run app=app3 with hyperparam=5 vec=20 seed=1234 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...suite-results/example03-format_$expected/format_mixed/run_9/rep_0/small/host_0/stdout.log
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
run app=app3 with hyperparam=5 vec=20 seed=1234 | ||
run app=app3 with hyperparam=5 vec=30 seed=1234 |
Oops, something went wrong.