v1.7.0
Wrapper: RatInABox now supports OpenAI's gymnasium
API
A new wrapper contributed by @SynapticSage allows RatInABox to natively support OpenAI's gymnasium API for standardised and multiagent reinforment learning. This can be used to flexibly integrate RatInABox with other RL libraries such as Stable-Baselines3 etc. and to build non-trivial tasks with objectives and time dependent rewards. Check it out here.
Overhaul of GridCell structure
How GridCells are initialised has been restructured. This is mostly backwards compatible and is explained in the GridCell docstring.
To initialise grid cells you specify three things: (i) params['gridscale'], (ii) params['orientation'] and (iii) params['phase_offset']. These are all sampled from a distribution (specified as, e.g. params['phase_offset_distribution']) and then used to calculate the firing rate of each grid cell. For each of these there quantities the value you specify parameterises the distribution from which it is sampled. For example params['gridscale':0.45,'gridscale_distribution':'uniform'] will pull gridscales from a uniform distribution between 0 and 0.45m. The 'delta' distribution means a constant will be taken. For all three of these you can optionally just pass an array of length GridCells.n (in which case the corresponding distribution parameter is ignored). This array is set a the value for each grid cell.
Other minor changes
- Changes to how BVCs are initialised (similar to grid cells)
What's Changed
- Distance tuning by @jquinnlee in #47
- TaskEnvironment by @SynapticSage in #49
- TaskEnvironments: flexible observation space and action_space bug by @SynapticSage in #50
New Contributors
- @jquinnlee made their first contribution in #47
- @musicinmybrain made their first contribution in #48
- @SynapticSage made their first contribution in #49
Full Changelog: v1.6.3...v1.7.0