mirror of
https://github.com/Farama-Foundation/Gymnasium.git
synced 2025-08-22 07:02:19 +00:00
Add Monitored wrapper (#434)
* Add WIP Monitored wrapper * Remove irrelevant render after close monitor test * py27 compatibility * Fix test_benchmark * Move Monitored out of wrappers __init__ * Turn Monitored into a function that returns a Monitor class * Fix monitor tests * Remove deprecated test * Remove deprecated utility * Prevent duplicate wrapping, add test * Fix test * close env in tests to prevent writing to nonexistent file * Disable semisuper tests * typo * Fix failing spec * Fix monitoring on semisuper tasks * Allow disabling of duplicate check * Rename MonitorManager * Monitored -> Monitor * Clean up comments * Remove cruft
This commit is contained in:
@@ -13,6 +13,8 @@ import sys
|
||||
|
||||
import gym
|
||||
# In modules, use `logger = logging.getLogger(__name__)`
|
||||
from gym import wrappers
|
||||
|
||||
logger = logging.getLogger()
|
||||
|
||||
def main():
|
||||
@@ -41,16 +43,16 @@ def main():
|
||||
# run benchmark tasks
|
||||
for task in benchmark.tasks:
|
||||
logger.info("Running on env: {}".format(task.env_id))
|
||||
env = gym.make(task.env_id)
|
||||
for trial in range(task.trials):
|
||||
env = gym.make(task.env_id)
|
||||
training_dir_name = "{}/{}-{}".format(args.training_dir, task.env_id, trial)
|
||||
env.monitor.start(training_dir_name)
|
||||
env = wrappers.Monitor(training_dir_name)(env)
|
||||
env.reset()
|
||||
for _ in range(task.max_timesteps):
|
||||
o, r, done, _ = env.step(env.action_space.sample())
|
||||
if done:
|
||||
env.reset()
|
||||
env.monitor.close()
|
||||
env.close()
|
||||
|
||||
logger.info("""Done running, upload results using the following command:
|
||||
|
||||
|
Reference in New Issue
Block a user