Commit Graph

41 Commits

Author SHA1 Message Date
Philip Paquette
93e49ba2c8 Monitoring Tests - Added skip_mujoco test (#171) 2016-06-12 14:19:28 -07:00
Greg Brockman
d257dac86e Go back to lazily creating the monitor
The refresh case is complicated enough that special handling is needed anyway
2016-06-09 11:29:34 -07:00
Greg Brockman
e759526268 Handle monitor close better 2016-06-09 11:27:27 -07:00
Greg Brockman
1004e1ce39 Move LivePlot under examples for now 2016-05-30 22:02:37 -07:00
Kevin Dagostino
7c530804cc Live Rewards Graph Option (#80)
* Adding an option to display a realtime plot of rewards using matplotlib

* Updating monitor back to where it was

* Adding a live_plot tool, also added an example (fee free to remove it)
2016-05-30 21:57:24 -07:00
Greg Brockman
3328144465 Support disabling videos by passing video_callable=False (#140)
* Support disabling videos by passing video_callable=False

* monitor.py: Flush after closing video recorder

This ensures that the last video recorded ends up
in the manifest
2016-05-29 13:56:38 -07:00
Greg Brockman
58e6aa95e5 [WIP] add support for seeding environments (#135)
* Make environments seedable

* Fix monitor bugs

- Set monitor_id before setting the infix. This was a bug that would yield incorrect results with multiple monitors.
- Remove extra pid from stats recorder filename. This should be purely cosmetic.

* Start uploading seeds in episode_batch

* Fix _bigint_from_bytes for python3

* Set seed explicitly in random_agent

* Pass through seed argument

* Also pass through random state to spaces

* Pass random state into the observation/action spaces

* Make all _seed methods return the list of used seeds

* Switch over to np.random where possible

* Start hashing seeds, and also seed doom engine

* Fixup seeding determinism in many cases

* Seed before loading the ROM

* Make seeding more Python3 friendly

* Make the MuJoCo skipping a bit more forgiving

* Remove debugging PDB calls

* Make setInt argument into raw bytes

* Validate and upload seeds

* Skip box2d

* Make seeds smaller, and change representation of seeds in upload

* Handle long seeds

* Fix RandomAgent example to be deterministic

* Handle integer types correctly in Python2 and Python3

* Try caching pip

* Try adding swap

* Add df and free calls

* Bump swap

* Bump swap size

* Try setting overcommit

* Try other sysctls

* Try fixing overcommit

* Try just setting overcommit_memory=1

* Add explanatory comment

* Add what's new section to readme

* BUG: Mark ElevatorAction-ram-v0 as non-deterministic for now

* Document seed

* Move nondetermistic check into spec
2016-05-29 09:07:09 -07:00
Greg Brockman
56ac98a841 Update name in _open_monitors 2016-05-27 20:00:57 -07:00
Greg Brockman
8376580c85 Improve closer implementation and docstrings (#126)
* Improve auto close implementation

- Register all envs at initialization time, not just ones created via make
- Simplify names and add more documentation on interface
- Move closer instances into the relevant modules

review-requested: @jietang

* Close environments in the tests

This isn't strictly needed, but means there are fewer Doom
subprocesses hanging around while the tests run.

* Use 4 space indent in comment

* Improve docstrings in core

* Don't pass through args to __new__

The __init__ method gets called once __new__ returns,
so these arguments are either ignored (Python 2) or
result in an error (Python 3). The __init__ method
automatically gets called with the correct arguments.

* Fixup comments
2016-05-27 12:16:35 -07:00
MarCnu
9260271bef Replace StrictVersion by LooseVersion
Replaces the parsing function for the version comparison, to allow non standard versions. Remains unchanged for standard versions. http://epydoc.sourceforge.net/stdlib/distutils.version.LooseVersion-class.html
2016-05-20 17:40:17 +01:00
Jie Tang
b92796ae89 Renaming close_registry to closer 2016-05-18 01:27:58 -07:00
Jie Tang
b578a22bef Refactor monitor to use CloseRegistry 2016-05-16 23:45:56 -07:00
Greg Brockman
e7d4198edd windows: Switch video_recorder to use - 2016-05-15 17:49:45 -07:00
Greg Brockman
e48d868ed8 Skip box2d tests in test_monitor_envs too 2016-05-15 17:46:58 -07:00
Greg Brockman
2ae0dbc846 Discard viewer object after render with close=True
Fixes #95
2016-05-15 17:22:38 -07:00
Greg Brockman
064f7377d9 Allow environment to create a new monitor after closing 2016-05-15 16:43:53 -07:00
Trevor Blackwell
f094e7d763 Cleanup pr/53 2016-05-10 17:29:02 -07:00
Trevor Blackwell
52dc50eacb Merge branch 'pr/53' 2016-05-10 17:26:15 -07:00
Trevor Blackwell
d845b79a07 Allow resuming monitoring 2016-05-10 17:25:23 -07:00
Trevor Blackwell
9287889214 Merge branch 'master' into pr/53
# Conflicts:
#	.gitignore
#	gym/envs/board_game/go.py
#	gym/monitoring/video_recorder.py
#	gym/scoreboard/client/api_requestor.py
2016-05-10 17:22:49 -07:00
Greg Brockman
322433ecff video_recorder: Check if not enabled right away
This avoids a potential logger.info call if not enabled
2016-05-07 11:45:42 -07:00
Greg Brockman
8781f6d623 Fix flushing of final episode in monitor
Thanks @JKCooper2.

We also change to getting the PID at monitor construction time, rather
than at runtime. This means you need to start your environments
post-fork, which should be fine.
2016-05-06 22:00:29 -07:00
Greg Brockman
21169ef620 Add TODO 2016-05-06 18:23:08 -07:00
Greg Brockman
9984589731 Improve score_from_local implementation (#66)
* Make sure that a callable is passed to start

* Improve autoflushing for score calculation

* Write stats and manifests using proper atomic_writes
2016-05-06 18:19:16 -07:00
JKCooper2
95a0151f13 Issue 45 - Easily return environment score values (#57)
* Set restriction on selected actions

* Used self.action_space instead of custom set

* Move action validation to core.py

* Added env.score() function to return current score

* Set up multi monitor scoring

* Removed unneccesary package inclusions

* Monitor writes scores automatically. Video callable can now use monitor_id

* Monitor ID not necessary for video filtering

* Fix so final stats get written when env.reset() doesn't happen

* gitignore PyCharm Project Files
2016-05-06 17:38:42 -07:00
Botev
c62b2da337 A few compatibility issues with python3 resolved.
Fixed lot's of issues with the HexEnv.
Added Hex9x9-v0 to registry
2016-05-03 20:10:00 +01:00
Nick Pawlowski
9e716416e1 fixed bug (frame_shape -> frame.shape) (#50) 2016-05-03 11:39:50 -04:00
Jonas Schneider
e45f945afd Python 3 encoding fixes
Closes #43.
2016-05-01 23:39:48 -04:00
Jonas Schneider
d22f96525f Safely iterate over monitor weakrefs when closing 2016-05-01 23:17:47 -04:00
Jonas Schneider
fd18ec3507 Merge remote-tracking branch 'origin/master' into py3
Conflicts:
	gym/envs/atari/atari_env.py
2016-04-29 18:07:47 -07:00
Greg Brockman
cc0e865e58 Merge pull request #10 from carpedm20/master
Fix #9. compatibility for tostring and tobytes
2016-04-28 22:08:01 -07:00
Taehoon Kim
08ece9e0d0 change string comparison to distutils.version 2016-04-29 09:46:23 +09:00
Jonas Schneider
c8ae79d163 Start sanely handling ANSI rendering strings as bytes/unicode where appropriate 2016-04-28 09:40:37 -07:00
Taehoon Kim
64b1b597dd change exception to if statement to check numpy version 2016-04-29 00:38:42 +09:00
Dominik Mueller
d3d23f3455 Fix readme example, documentation and error messages 2016-04-28 14:01:24 +02:00
Ubuntu
3df9a580f7 Fix #9. compatibility for tostring and tobytes 2016-04-28 08:02:35 +00:00
Greg Brockman
b742eaca13 Fix warning 2016-04-27 19:48:34 -07:00
Greg Brockman
dbde599c17 monitor.py: Still write manifest if close errors
Before, on a headless server I was losing manifests with:

NullFunctionError: Attempt to call an undefined function glIsFramebuffer, check for bool(glIsFramebuffer) before calling (when closing Ant-v0)
2016-04-27 19:35:33 -07:00
Jonas Schneider
5065950a09 Fix Python3 compat of import dependencies 2016-04-27 18:03:29 -07:00
Greg Brockman
bd36a91603 Record initial reset timestamp, and use it for duration calculations 2016-04-27 09:17:05 -07:00
Greg Brockman
e8f2980603 Initial release. Hello world :). 2016-04-27 08:00:58 -07:00