feat: multi-ROM support for vectorized environments#694
Open
AdrianOrenstein wants to merge 6 commits into
Open
feat: multi-ROM support for vectorized environments#694AdrianOrenstein wants to merge 6 commits into
AdrianOrenstein wants to merge 6 commits into
Conversation
Author
|
@pseudo-rnd-thoughts Ready for your review. |
9f06e66 to
2a68ae4
Compare
Author
|
@pseudo-rnd-thoughts please let me know if there's anything else to do for this PR 😄 |
Member
|
Hey just as a cursory question, could you help me understand what this is a feature that people would want? Perhaps I'm just missing something quite obvious. |
Author
|
Hey @jkterry1, here are some reasons people would want multi-rom support to be part of the vector interface:
|
Member
|
@AdrianOrenstein can you please get CI to pass? |
b83f9a0 to
391b17c
Compare
Author
|
@jkterry1 Thanks for pinging me. It should be ready for review now. |
a42e8ad to
4642385
Compare
Member
|
@AdrianOrenstein could you please rebase off main? |
- EnvVectorizer constructor takes vector<fs::path> rom_paths directly; action_sets_ stores per-environment action sets via action_sets() - ALEVectorInterface binding takes rom_paths + num_envs multiplier via expand_rom_paths helper; parse_autoreset_mode accepts canonical PascalCase - AtariVectorEnv accepts games: list[str]|str with optional num_envs multiplier; action space is always MultiDiscrete over all environments
391b17c to
57b266e
Compare
Author
|
@jkterry1 ready for CI |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Extends
AtariVectorEnvto accept multiple ROMs, enabling parallel training across seeds and games.Previously, all environments in
AtariVectorEnvran the same ROM. Nowrom_pathsacceptsa list, and
num_envsreplicates each ROM:["pong", "breakout"]withnum_envs=2expandsto
["pong", "pong", "breakout", "breakout"].Renames:
ALEVectorInterface.rom_path->rom_pathsAtariVectorEnv.game->gamesAtariVectorEnv.get_action_set->get_action_setsAction space:
action_spacenow covers all ROMs and no longer changes with batch size. Previously,action space varied with batch size, breaking training scripts that held a reference to it.
action_spaceis nowMultiDiscrete;single_action_spaceisNoneunless the fullaction space is used, in which case it is always 16.
TestVectorEnv::test_batch_size_asyncis updated to reflect this.