Commit graph

3771 commits

Author SHA1 Message Date
Eric Liang
802941994d [rllib] Use RLlib preprocessors in DQN (fixes PongDeterministic-v4) (#1124)
* fix pong

* rename

* update
2017-10-14 20:16:36 -07:00
Stephanie Wang
15486a14a0 Refactor actor task queues (#1118)
* Refactor add_task_to_actor_queue into queue_actor_task and insert_actor_task_queue

* Refactor actor task queue to share the waiting task queue

* Fix
2017-10-13 20:52:11 -07:00
Eric Liang
79ea205b3e [rllib] Initial work on integrating hyperparameter search tool (#1107)
* clean up train

* update

* update train script

* add tuned examples

* add agent catalog

* add tune lib

* update

* fix

* testS

* remove

* train docs

* comments

* todo

* fix resource parsing

* fix cr test

* add test

* try to fix travis test
2017-10-13 16:18:16 -07:00
Stephanie Wang
3764f2f2e1 Actor checkpointing with object lineage reconstruction (#1004)
* Worker reports error in previous task, actor task counter is incremented after task is successful

* Refactor actor task execution

- Return new task counter in GetTaskRequest
- Update worker state for actor tasks inside of the actor method
  executor

* Manually invoked checkpoint method

* Scheduling for actor checkpoint methods

* Fix python bugs in checkpointing

* Return task success from worker to local scheduler instead of actor counter

* Kill local schedulers halfway through actor execution instead of waiting for all tasks to execute once

* Remove redundant actor tasks during dispatch, reconstruct missing dependencies for actor tasks

* Make executor for temporary actor methods

* doc

* Set default argument for whether the previous task was a success

* Refactor actor method call

* Simplify checkpoint task submission

* lint

* fix philipp's comments

* Add missing line

* Make actor reconstruction tests run faster

* Unimportant whitespace.

* Unimportant whitespace.

* Update checkpoint method signature

* Documentation and handle exceptions during checkpoint save/resume

* Rename get_task message field to actor_checkpoint_failed

* Fix bug.

* Remove debugging check, redirect test output
2017-10-12 09:53:32 -07:00
Richard Liaw
379b0604b4 Fixing MeanSTDFilter (#1101)
* Fixing MeanSTDFilter

* documentation
2017-10-11 18:16:08 -07:00
Philipp Moritz
0684258d2e Update arrow to include pandas serialization (#1102)
* update arrow to include pandas serialization

* update
2017-10-10 22:16:35 -07:00
Eric Liang
b1660c4edf [rllib] Refactor to support passing custom env_creator function (#1096)
* refactor to use env creator

* doc

* lint
2017-10-10 12:49:42 -07:00
Robert Nishihara
8f1a73f041 Allow Ray to be built without UI by setting INCLUDE_UI=0. (#1094)
* Allow building Ray without UI by setting INCLUDE_UI=0.

* Fix bash.

* Fix linting.
2017-10-09 23:32:38 -07:00
Robert Nishihara
a52a1e893f Automatically set CUDA_VISIBLE_DEVICES when worker gets task. (#1044)
* Automatically set CUDA_VISIBLE_DEVICES when worker gets task.

* Add test.
2017-10-06 18:38:08 -07:00
Robert Nishihara
4669c59fa8 Release GPU resources as soon as an actor exits. (#1088)
* Release GPU resources as soon as an actor exits.

* Add a test.

* Store local_scheduler_id and driver_id in the worker object instead of the actor object.
2017-10-06 17:58:19 -07:00
Stephanie Wang
aebe9f9374 Fix actor garbage collection by breaking cyclic references (#1064)
* Fix bug in wait_for_pid_to_exit, add test for actor deletion.

* Fix actor garbage collection by breaking cyclic references

* Add test for calling actor method immediately after actor creation.

* Fix bug, must dispatch tasks when workers are killed.

* Fix python test

* Fix cyclic reference problem by creating ActorMethod objects on the fly.

* Try simply increasing the time allowed for many_drivers_test.py.
2017-10-05 00:55:33 -07:00
Robert Nishihara
971becc905 [rllib] Use NoFilter instead of MeanStdFilter for PPO. (#1082)
* Make NoFilter the default observation filter for PPO.

* Make reward filter NoFilter for PPO.
2017-10-04 21:31:17 -07:00
Eric Liang
6ecc899cf2 [rllib] Fix DQN checkpoint/restore and enable test in jenkins (#1063)
* fix dqn restore and add test

* Update .gitignore

* Update test_checkpoint_restore.py

* add checkpoint restore
2017-10-03 23:17:54 -07:00
Richard Liaw
cb6dea94bc [rllib] Fix Preprocessor for ATARI (#1066)
* Removing squeeze, fix atari preprocessing

* nit comment

* comments

* jenkins

* Lint
2017-10-03 18:45:02 -07:00
Philipp Moritz
57bd1d6ff5 Specialize Serialization for OrderedDict (#1035)
Specialize Serialization for OrderedDict and defaultdict
2017-10-02 17:33:10 -07:00
Philipp Moritz
b94d85fb5d [rllib] Fix logging to Athena (#1058)
* Fix logging to Athena

* fixes
2017-10-02 17:16:52 -07:00
Richard Liaw
54aaeb25ab fixing (#1048) 2017-10-01 22:34:55 -07:00
Robert Nishihara
2892955119 Pass string into json.loads, not bytes object. (#991) 2017-10-01 14:56:39 -07:00
Robert Nishihara
6d393828db Bump version number to 0.2.1. (#1026) 2017-10-01 12:33:13 -07:00
Robert Nishihara
ad61af7333 Workaround for passing empty list to ray.wait. (#1043)
* Workaround for passing empty list to ray.wait.

* Add test for passing empty list to wait.
2017-10-01 11:45:02 -07:00
Augusto Yao
0d90a17426 Pass cleanup argument to start_monitor. (#1040) 2017-09-30 15:35:25 -07:00
Wapaul1
97b3355adc Register Class Only Creates Entry in Redis Once (#1038)
Don't export the same custom class definition multiple times.
2017-09-30 15:30:27 -07:00
Richard Liaw
16e82b43d1 [rllib] Changes for preprocessors (#1033)
* Changes for preprocessors

* removed comments

* Changes + push for lint

* linted

* adding dependency for travis

* linting won't pass

* reordering

* needed for testing

* added comments

* pip it

* pip dependencies
2017-09-30 13:11:20 -07:00
Alexey Tumanov
2d0f439b7b hugepage + plasma directory support plumbing + documentation (#1030)
* hugepage + plasma directory support plumbing + documentation

* Indentation fix.

* huge_pages_enabled --> huge_pages

* One more change
2017-09-30 09:56:52 -07:00
Robert Nishihara
b991dc8900 Add flag for ignoring the UI, don't start UI in jenkins tests. (#1021) 2017-09-29 15:22:51 -07:00
Eric Liang
9f3a4fce50 [rllib] Parallelize sample collection and gradient computation in DQN (#746)
* wip

* works with cartpole

* lint

* fix pg

* comment

* action dist rename

* preprocessor

* fix test

* typo

* fix the action[0] nonsense

* revert

* satisfy the lint

* wip

* wip

* works with cartpole

* lint

* fix pg

* comment

* action dist rename

* preprocessor

* fix test

* typo

* fix the action[0] nonsense

* revert

* satisfy the lint

* Minor indentation changes.

* fix merge

* add humanoid

* initial dqn refactor

* remove tfutil

* fix calls

* fix tf errors 1

* closer

* runs now

* lint

* tensorboard graph

* fix linting

* more 4 space

* fix

* fix linT

* more lint

* oops

* es parity

* remove example.py

* fix training bug

* add cartpole demo

* try fixing cartpole

* allow model options, configure cartpole

* debug

* simplify

* no dueling

* avoid out of file handles

* Test dqn in jenkins.

* Minor formatting.

* lint

* fix py3

* fix issue

* remove chekcpoint

* revert

* Fixit

* sanity check configs

* update cuda

* fix

* parallel gradient computation

* update

* upd

* bug

* upd

* always record training stats

* fix

* comments

* revert assert

* add gpu mask

* fofset

* a tie

* Merge

* fix

* fix

* fix examples

* A3C -> DQN

* fix dqn test

* remove submodule

* fix linting
2017-09-29 00:06:51 -07:00
Eric Liang
19562f6ce5 [rllib] Fix issues with PPO model restoration (#1018)
* fix filter

* add test

* lint

* fix

* commit

* Update a3c.py
2017-09-28 13:12:06 -07:00
Zongheng Yang
5a50e80b63 Make Monitor remove dead Redis entries from exiting drivers. (#994)
* WIP: removing OL, OI, TT on client exit; no saving yet.

* ray_redis_module.cc: update header comment.

* Cleanup: just the removal.

* Reformat via yapf: use pep8 style instead of google.

* Checkpoint addressing comments (partially)

* Add 'b' marker before strings (py3 compat)

* Add MonitorTest.

* Use `isort` to sort imports.

* Remove some loggings

* Fix flake8 noqa marker runtest.py

* Try to separate tests out to monitor_test.py

* Rework cleanup algorithm: correct logic

* Extend tests to cover multi-shard cases

* Add some small comments and formatting changes.
2017-09-26 00:11:38 -07:00
Eric Liang
5c70faf76b Update common.py (#996) 2017-09-19 10:10:56 -07:00
gycn
a432285e77 Disable parallelization for Actors and ray.wait for debugging (#961)
Support actors and ray.wait in PYTHON_MODE.
2017-09-17 00:12:50 -07:00
Philipp Moritz
73f40bd844 [rllib] user defined preprocessor (#985)
* add register_preprocessor to ModelCatalog

* add pytest

* make staticmethod a classmethod

* update

* install gym on travis

* fix linting

* fix
2017-09-16 15:53:19 -07:00
Eric Liang
98142ef51f fix checkpoint (#988) 2017-09-16 15:29:36 -07:00
Philipp Moritz
6601bb5f9e [rllib] Make observation filter optional (#940)
* make observation filter optional

* fix linting
2017-09-14 17:37:19 -07:00
Richard Liaw
d516d9440e Fixing local directory (#977)
* Fixing local directory

Enables ability to set custom local directory; code may be messy.

* Create all intermediate parent directories
2017-09-14 10:33:52 -07:00
Philipp Moritz
1eb8c83314 [rllib] Initial RLLib documentation (#969)
* initial documentation for RLLib

* more RL documentation

* fix linting

* fix comments

* update

* fix
2017-09-12 23:38:21 -07:00
Eric Liang
9f42ef6a4f [rllib] Make sure to always record stats like time elapsed, timesteps (#965)
* always record training stats

* fix

* comments

* revert assert

* nan

* fix
2017-09-12 14:28:16 -07:00
Eric Liang
e17412a72b fix free log std param (#964) 2017-09-11 18:52:48 -07:00
Stephanie Wang
99c8b1f38c Actor fault tolerance using object lineage reconstruction (#902)
* Revert Python actor reconstruction

* Actor reconstruction using object lineage

* Add dummy arguments and return values for actor tasks

* Pin dummy outputs for actor tasks

* Skip checkpointing test for now

* TODOs

* minor edits

* Generate dummy object dependencies in Python, not C

* Fix linting.

* Move actor counter and dummy objects inside of the actor handle

* Refactor Worker._process_task, suppress exception propagation for
sequential actor tasks
2017-09-10 19:29:28 -07:00
Eric Liang
d8aa826e63 [webui] Scalability fixes for the task timeline and visualizations (#935)
* fixes

* comments

* fix test

* Update ui.py

* upd

* Fix linting.
2017-09-10 15:47:44 -07:00
Robert Nishihara
f3c1248d98 Clone catapult and generate html files during installation. (#956)
* Clone catapult and generate static html during setup.

* Include UI files in installation.

* Fix directory to clone catapult to and fix linting.

* Use absolute path.

* Make sure we find a sufficiently new version of python2 when building wheels.

* Copy the trace_viewer_full.html file to the local directory if it is not present.

* Make sure wheels fail to build if UI is not included.
2017-09-10 13:41:16 -07:00
Philipp Moritz
546ba23ceb Upgrade to latest arrow to include set serialization speedups (#957)
* update arrow to pull in the set serialization speedups

* remove _register_class for set
2017-09-10 00:12:17 -07:00
Eric Liang
953878364e [webui] Print out timeline link for full-screen trace viewing (#936)
* up

* update
2017-09-06 01:41:21 -07:00
Wapaul1
e19e2c6284 Print jupyter notebook token when starting web UI. (#887)
* User now only needs to copy url to get to notebook

* Fixed duplicate code

* Added function to print url

* Added exception for calling function on worker

* Stored webui url in Redis

* Fix linting and simplify code.

* Now uses 24 bytes hex token

* Fixed python 3 compatibility

* Fix linting and python 3 compat

* Added comment explaining generating the token.

* Removed newline

* Small fixes.

* Fixed jenkins failure

* Rebased and changed formatting

* Revert "changed formatting"

This reverts commit 226510cf0cdcaab9cf42ad30bd9588a963683592.
2017-09-05 23:31:44 -07:00
Robert Nishihara
853969225b Sleep longer when starting plasma manager in valgrind case to catch errors where port bind fails. (#934) 2017-09-05 20:58:12 -07:00
Philipp Moritz
7030ef366f Rebase Ray on latest arrow (remove numbuf from Ray). (#910)
* remove some stuff

* put get roundtrip working

* fixes

* more fixes

* cleanup

* fix tests

* latest arrow

* fixes

* fix tests

* fix linting

* rebase

* fixes

* fix bug

* bring back libgcc error

* fix linting

* use official arrow repo

* fixes
2017-09-04 22:58:49 -07:00
Eric Liang
a2814567e1 [webui] Quick fix to timeline on task failure (#930)
* foo

* update

* Move _add_missing_timestamps to task_profiles function.
2017-09-04 22:58:19 -07:00
Eric Liang
63d8d11714 [webui] Checkboxes should go to the left of their labels (#932) 2017-09-04 17:05:13 -07:00
Robert Nishihara
8ed03b1cf0 Make task timeline work with ipywidgets==7.0.0, change slider default values. (#925)
* Make task timeline work with ipywidgets==7.0.0.

* Change initial UI slider values from 70-100 to 0-100.
2017-09-03 23:15:46 -07:00
Eric Liang
246be812f0 upd (#917) 2017-09-02 23:55:10 -07:00
Eric Liang
1ebfe9608f [rllib] Add downscale and frameskip options for Montezumas (#908)
* up

* update

* fix

* update

* update

* update

* api break

* Update run_multi_node_tests.sh

* fix
2017-09-02 17:20:56 -07:00