google-deepmind / bsuite

bsuite is a collection of carefully-designed experiments that investigate core capabilities of a reinforcement learning (RL) agent
Apache License 2.0
1.51k stars 181 forks source link

`Catch._observation` does not follow the other environments with `_get_observation` #43

Open epignatelli opened 1 year ago

epignatelli commented 1 year ago

I didn't find a parent common interface for all the bsuite environments, but a common patter is to have a method get_observation to collect the current observation.

Catch, however, is the only environment to have an _observation method in place of a _get_observation one. https://github.com/deepmind/bsuite/blob/6d8f64997ca256473c3d10be021431facc5a14d7/bsuite/environments/catch.py#L109-L114

Is there any specific reason why? If not, would it be reasonable to omogenise the interface and make Catch compliant?

Contex: I usually use a simple interface to interoperate between gym, bsuite, dm_env and other common libraries, and the lack of a shared interface for bsuite.Environments is an obstacle.

See also #44 for a tentative edit of Catch. It does note modify the parent Environment yet.

Thanks, Edu