Universe: a software platform for measuring and training an AI's general intelligence across the world's supply of games, websites and other applications.
As is, universe.vectorized.MultiprocessingEnv has two bugs:
In gym versions at or before 0.7.4, a core.Env has a flag self._configured, usually set by configure(), but not set by the configure() method overridden by MultiprocessingEnv. This causes configure() to be re-called with empty arguments upon reset.
seed_n does not seed individual workers, it instead re-uses the same first seed among all worker environments.
This PR adds a single test which checks for both issues and fixes the bugs.
As is,
universe.vectorized.MultiprocessingEnv
has two bugs:gym
versions at or before0.7.4
, acore.Env
has a flagself._configured
, usually set byconfigure()
, but not set by theconfigure()
method overridden byMultiprocessingEnv
. This causesconfigure()
to be re-called with empty arguments uponreset
.seed_n
does not seed individual workers, it instead re-uses the same first seed among all worker environments.This PR adds a single test which checks for both issues and fixes the bugs.