-
Notifications
You must be signed in to change notification settings - Fork 296
Fix benchmarking configs + Add a minimal test suite for those configs. #653
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This commit patches in the changes from PR #650. It also fixes an error in the dagger configs by replacing "py/object" with "py/type". "py/object" failed the assert in sacred.config.utils.assert_is_valid_key. Finally, it adds a minimal test suite for the benchmarking configs. This commit makes progress on testing, but still does not test that all the benchmarking configs work. Running all the configs with the fast configs applied is too slow. Calling sacred's print_config command for all the configs is also too slow.
AdamGleave
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for adding this test! Some minor suggestions.
Avoid the overhead of subprocess by running the print_config using the experiment's run method. Also, use a path relative to the script for BENCHMARKING_DIR instead of creating a path and then checking if it exists.
…AI/imitation into fix-benchmarking-configs
AdamGleave
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, 2 small suggestions
Codecov Report
@@ Coverage Diff @@
## master #653 +/- ##
=======================================
Coverage 97.54% 97.54%
=======================================
Files 86 87 +1
Lines 8422 8443 +21
=======================================
+ Hits 8215 8236 +21
Misses 207 207
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
This change just made some error messages go away indicating the missing imitation.algorithms.dagger.ExponentialBetaSchedule but it did not fix the root cause.
This change just made some error messages go away indicating the missing imitation.algorithms.dagger.ExponentialBetaSchedule but it did not fix the root cause.
This change just made some error messages go away indicating the missing imitation.algorithms.dagger.ExponentialBetaSchedule but it did not fix the root cause.
* Undo the changes from #653 to the dagger benchmark config files. This change just made some error messages go away indicating the missing imitation.algorithms.dagger.ExponentialBetaSchedule but it did not fix the root cause. * Improve readability and interpretability of benchmarking tests. * Add exponential beta scheduler for dagger * Ignore coverage for unknown algorithms. * Cleanup and extend tests for beta schedules in dagger. --------- Co-authored-by: taufeeque9 <[email protected]>
* Merge py file changes from benchmark-algs * Clean parallel script * Undo the changes from #653 to the dagger benchmark config files. This change just made some error messages go away indicating the missing imitation.algorithms.dagger.ExponentialBetaSchedule but it did not fix the root cause. * Improve readability and interpretability of benchmarking tests. * Add pxponential beta scheduler for dagger * Ignore coverage for unknown algorithms. * Cleanup and extend tests for beta schedules in dagger. * Add optuna to dependencies * Fix test case * Clean up the scripts * Remove reporter(done) since mean_return is reported by the runs * Add beta_schedule parameter to dagger script * Update config policy kwargs * Changes from review * Fix errors with some configs * Updates based on review * Change metric everywhere * Separate tuning code from parallel.py * Fix docstring * Removing resume option as it is getting tricky to correctly implement * Minor fixes * Updates from review * fix lint error * Add documentation for using the tuning script * Fix lint error * Updates from the review * Fix file name test errors * Add tune_run_kwargs in parallel script * Fix test errors * Fix test * Fix lint * Updates from review * Simplify few lines of code * Updates from review * Fix test * Revert "Fix test" This reverts commit 8b55134. * Fix test * Convert Dict to Mapping in input argument * Ignore coverage in script configurations. * Pin huggingface_sb3 version. * Update to the newest seals environment versions. * Push gymnasium dependency to 0.29 to ensure mujoco envs work. * Incorporate review comments * Fix test errors * Move benchmarking/ to scripts/ and add named configs for tuned hyperparams * Bump cache version & remove unnecessary files * Include tuned hyperparam json files in package data * Update storage hash * Update search space of bc * update benchmark and hyper parameter tuning readme * Update README.md * Incorporate reviewer's comments in benchmarking readme * Update gymnasium version and render mode in eval policy * Fix error * Update commands.py hex strings --------- Co-authored-by: Maximilian Ernestus <[email protected]> Co-authored-by: ZiyueWang25 <[email protected]>
Description
This PR patches in the changes from PR #650. It also fixes an error in the dagger configs by replacing "py/object" with "py/type". "py/object" failed the assert in sacred.config.utils.assert_is_valid_key.
Testing
The PR adds a minimal test suite for the benchmarking configs. Running all the configs with the fast configs applied is too slow and requires MuJoCo. Instead, we test that the print_config command works for all the configs.