abaisero / gym-gridverse

Gridworld domains in the gym interface
MIT License
22 stars 5 forks source link

Added ability to define state/obs rep from gym.make #3

Closed DavidSlayback closed 3 years ago

DavidSlayback commented 3 years ago

1) Changed GymEnvironment constructor to take "obs_rep_override" and "state_rep_override" arguments. This way, it's possible to pass representation strings (i.e., 'default', 'no_overlap') via gym.make(). Default behavior is unchanged ('default' obs rep, None state rep)

2) Updated test_gym_registration with cases of override

abaisero commented 3 years ago

Actually, I hadn't realized GymEnvironment does have set_state_representation and set_observation_representation. So for now the best way to do this is for you to explicitly call those methods after the GymEnvironment has been instantiated. Eventually, Sammie and I want to remove those, and provide a better way to construct the OuterEnv directly from yaml.

DavidSlayback commented 3 years ago

Yeah, and I actually make use of that functionality in the change...I understand that it's redundant with what you can already do, I just felt that giving the option to instantiate an environment with gym make with the appropriate state/observation would make this environment easier to use, since state/observation representations are core.

An alternative suggestion I might make would be to make having some sort of state representation default. Either way, I can close this request