Commit graph

3771 commits

Author SHA1 Message Date
Robert Nishihara
deca29a7eb Bump version to 0.2.0. (#877) 2017-08-29 21:38:35 -07:00
Philipp Moritz
164a8f368e [rllib] Rename algorithms (#890)
* rename algorithms

* fix

* fix jenkins test

* fix documentation

* fix
2017-08-29 16:56:42 -07:00
Robert Nishihara
e1831792f8 For PPO, rename num_agents -> num_workers. (#882) 2017-08-28 23:11:06 -07:00
Robert Nishihara
1afc487baf In setup.py, move cython to setup_requires. (#878)
* In setup.py, move cython to setup_requires and move setuptools_scm to setup_requires.

* Add back pip install of cython when building mac wheels.

* Revert changes to setuptools_scm.

* Check that the correct number of Linux wheels are produced.

* Add back pip install cython when building linux wheels.
2017-08-28 23:07:33 -07:00
Robert Nishihara
60d4d01d06 Use observation filter in compute_action for PPO. (#884) 2017-08-28 23:01:29 -07:00
Richard Liaw
5d72818ddc Generic shared_model class (#880)
Changing `shared_model` class back to `get_model` rather than `ConvolutionalNetwork`
2017-08-28 22:48:07 -07:00
Wapaul1
4db45c9c54 Improved layout of controls for Web UI (#876)
* Improved layout of controls

* Added explicit labels and some comments

* Fix linting errors
2017-08-28 14:43:34 -07:00
Richard Liaw
bc082e9a9e [rllib] Additional support for Shared Models in A3C (#866)
* Code for Supporting Shared Models

Running (with vnet modification) - needs to be tested for performance

Summaries

Small refactoring + generalized to more domains

Small fix for jenkins

Linting

linting

Addressing changes

Addressing changes

Update envs.py

Addressing changes

convnet

Merge - new model

final touches

final linting

Changing iterations back

removed extra change

changes for fast experimentation

changes to enable a2c

TEMP FOR DEBUGGING

ContinuousActions - Still doesn't work

InvertedPendulum trains with 8 workers - k=200

huber loss

Maxes for InvertedPendulum-v1 - 16w,200steps

temp: working with a2c

Back to shared model

more fixes

small

nit

LSTM to shared models

need to fix last_features

tuning pong

Best record for hitting 0 - with k=16,n=20

nit

a2cremoval

remove A2c reference and nits

nit

removed a2c vestiges

removing a2c

removing example.py

Linting

nit

* Linting + Removing vestigal code

* Final Touches

* nits

* rerun travis
2017-08-28 12:23:14 -07:00
Eric Liang
c977fe8895 [rllib] Full checkpoint/restore for all algorithms (#875)
* wip

* working for all but dqn

* update

* add train

* rename

* update

* Update test
2017-08-27 18:56:52 -07:00
Robert Nishihara
d43a435c68 Don't redirect worker output to log files if redirect_output=False. (#873)
* Don't redirect worker output to log files if redirect_output=False.

* Fix, handle case where RedirectOutput key is not in Redis.
2017-08-27 14:27:44 -07:00
Eric Liang
617bc4d239 [rllib] Make the free_logstd param generic (#863)
* make free log std param generic

* fixes

* fixes
2017-08-24 12:43:51 -07:00
Eric Liang
46641a642f [rllib] (take 2) Add top-level checkpoint/restore/compute_action APIs to rllib (#868)
* add top-level checkpoint/restore api to rllib

* todos
2017-08-24 00:09:33 -07:00
Philipp Moritz
791bee343f [rllib] Implement GAE for PPO (#849)
* make information available for GAE

* buggy version of GAE estimator

* fix

* add more logging and reweight losses

* fix logging

* fix loss

* adapt advantage calculation

* update gae

* standardize returns

* don't normalize td lambda ret

* fix

* don't standardize advantages

* do standardization earlier

* different standardization

* initializer

* drop into the debugger

* fix tensorflow broadcasting bug

* vf clipping

* don't standardize tdlambdaret

* different standardization

* use huber loss for value function

* refactor -- first half

* it runs

* fix

* update

* documentation

* linting and tests

* fix linting

* naming

* fix

* linting

* fix

* remove prefix madness

* fixes

* fix

* add value function example

* fix linting

* remove newline
2017-08-23 20:35:47 -07:00
Eric Liang
c943ecaa42 Better error message when actor creation is attempted before ray.init() (#858) 2017-08-22 21:20:15 -07:00
Eric Liang
e2f2a7e57a [rllib] Pick preprocessor based on obs shape (#855)
* update

* auto choose
2017-08-22 16:46:55 -07:00
Eric Liang
c81821b856 [rllib] Make Pong-v0 + EvolutionStrategies work by sharing preprocessors with PPO (#848)
* fix by sharing preprocessors

* revert param changeg

* Update evolution_strategies.py

* Update catalog.py
2017-08-21 18:51:49 -07:00
Robert Nishihara
be4beb19c1 Changes to build to fix creation of wheels. (#840)
* Pass DPYTHON_EXECUTABLE into cmake for arrow and for ray.

* Add cython to setup.py install_requires.

* Revert custom code for finding python in cmake.

* Correctly find arrow on CentOS.

* In cmake, don't find PythonLibs, just find PYTHON_INCLUDE_DIRS.

* Fix typo.

* Do not use boost shared libraries when building arrow.

* Add six to the setup.py install_requires because it is needed by pyarrow.

* Don't link numbuf against boost_system and boost_filesystem.

* Compile boost when we are on Linux.

* Make numbuf find the correct boost libraries.

* Only use find_package Boost on Linux, suppress output when building boost.

* Changes to wheel building scripts, install cython in mac script.

* Compile flatbuffers ourselves on Linux and pass it in when compiling Arrow.

* Clean up build_flatbuffers.sh and build_boost.sh scripts a little.

* Install cython when building linux wheel.
2017-08-21 17:49:35 -07:00
Robert Nishihara
cf41964816 Fix some bugs causing Travis test failures. (#839)
* Fix bug in which worker has no actor_class attribute.

* Remove case where we check if processes are defunct.
2017-08-16 01:18:32 -07:00
Robert Nishihara
ca53e9ae7b Fix bugs in task timeline visualization. (#836)
* Fix bugs in task timeline visualization.

* Some cleanups.

* Remove print statements.
2017-08-13 23:39:37 -07:00
Robert Nishihara
a75ccc8032 Fix socket error exception in Python 2. (#833) 2017-08-13 23:14:26 -07:00
alanamarzoev
bfe473fa8c Embedded task trace with object dependencies. (#818)
* Embedded timeline

* Yeah

* Fixed arrows not showing up.

* Fixed arrows not showing up, and added check boxes for the kinds of dependencies that should be included in the trace.

* first

* Fixes

* Fixed typo in comments, added more comments. fixed linting.

* Added more comments.

* Formatting.

* fixes

* Fixed state.py linting.

* Fixed ui.py linting errors.

* Fixed linting errors.

* Renamed task dependencies and included instructions for viewing arrows.

* Fixed according to PR comments.

* Fixed bug.

* Undid changes to metadata blocks.

* Fixes according to comments.

* Fixed linting.

* Fixed linting.

* NOQA keyword added to link line.
2017-08-09 23:00:14 -07:00
Alexey Tumanov
fc885bd918 Adding basic support for a user-interpretable resource label (#761)
* adding support for the user-interpretable label(UIR)

* more plumbing for num_uirs further upstream; set to infty when specified on cmd line

* pass default num_uirs for actors; update GlobalStateAPI

* support num_uirs in ray.init()

* local scheduler resource accounting: support num_uirs; prep for vectorized resource accounting

* global scheduler test updated

* Fix bug introduced by rebase.

* Rename UIR -> CustomResource and add test.

* Small changes and use constexpr instead of macros.

* Linting and some renaming.

* Reorder some code.

* Remove cpus_in_use and fix bug.

* Add another test and make a small change.

* Rephrase documentation about feature stability.
2017-08-08 02:53:59 -07:00
Robert Nishihara
03f2325780 Package pyarrow along with ray. (#822)
* Rough pass at installing pyarrow along with Ray.

* Remove hardcoded path and try to find correct path automatically.

* Add print.

* Fix linting.

* Copy pyarrow files to a location that we manually add to python path in order to avoid interfering with pre-existing pyarrow installations.

* Move call to build.sh back into build_ext in setup.py.

* Ignore some linting errors.

* Fix problem in which pyarrow files to copy were listed before they were built.

* Fix tests by importing ray before pyarrow.
2017-08-07 21:17:28 -07:00
Philipp Moritz
862e56000b [rllib] Unify RLLib examples and add jenkins test for policy gradients (#815)
* add jenkins test

* correct handling of the number of iterations

* convert policy gradient and evolution strategies script

* convert DQN

* fix A3C

* fix

* fix

* fixes

* remove redundant A3C example
2017-08-07 19:05:48 -07:00
Robert Nishihara
dbe3d9351c Prototype actor checkpointing. (#814)
* Initial testing of checkpointing functions.

* Save checkpoints in Redis.

* Pipe checkpoint_interval through remote decorator.

* Add a test.

* Small cleanups.

* Submit dummy tasks when reconstructing tasks before the most recent tasks so that we don't end up reconstructing the arguments for those tasks.

* Remove old checkpoints to save space.

* Fix linting.
2017-08-07 17:52:39 -07:00
Philipp Moritz
0225581078 [rllib] Improve performance for small rollouts (#812)
* batch small rollouts together

* implement minimum number of samples for each task

* add total time

* fix linting

* style

* fix

* factor out parameters and document stuff

* add rollout batchsize

* address comments

* linting

* small fix
2017-08-05 22:13:30 -07:00
alanamarzoev
64eaaaebf0 Show timeline button. (#809) 2017-08-03 20:11:50 -07:00
Richard Liaw
c30fdb4ab0 [rllib] Code for Supporting Shared Models (#775)
* Code for Supporting Shared Models

* Running (with vnet modification) - needs to be tested for performance

* Small fix for jenkins

* Linting

* linting

* Summaries

* Small refactoring + generalized to more domains

* Addressing changes

* Addressing changes

* Update envs.py

* Addressing changes

* convnet

* final touches

* Merge - new model

* final linting

* Changing iterations back

* Policy option removed, fixed small things

* Nits

* nit

* Linting

* Linting
2017-08-03 19:29:01 -07:00
Philipp Moritz
df65e87fc7 [rllib] Tune ppo more on control tasks (#777)
* tune ppo on control tasks

* introduce free log_std

* fix

* flag for writing logs

* fixes

* fixes
2017-08-03 16:34:06 -07:00
alanamarzoev
99badc7ae4 UI functions in separate file. (#801)
* UI file.

* Fixed linting.

* Change UI instructions slightly.
2017-08-02 19:32:18 -07:00
Robert Nishihara
cb84972f6b Recreate actors when local schedulers die. (#804)
* Reconstruct actor state when local schedulers fail.

* Simplify construction of arguments to pass into default_worker.py from local scheduler.

* Remove deprecated ray.actor.

* Simplify actor reconstruction method.

* Fix linting.

* Small fixes.
2017-08-02 18:02:52 -07:00
Robert Nishihara
fcd07b10b5 Don't call colorama.init(). (#799) 2017-08-01 18:58:48 -07:00
Robert Nishihara
8c8258de20 Move worker methods into Worker class and expose more TaskSpec fields to Python. (#796)
* Move worker methods inside worker class. Move some helper methods from actor.py into utils.py and state.py.

* Add more methods exposing task spec fields to Python.

* Fix linting.

* Fix error.

* Remove unused code in default worker.
2017-08-01 17:16:57 -07:00
Robert Nishihara
52a27be364 Better logging in tests. (#790) 2017-07-31 22:30:46 -07:00
Philipp Moritz
c3b39b4d86 Pull Plasma from Apache Arrow and remove Plasma store from Ray. (#692)
* Rebase Ray on top of Plasma in Apache Arrow

* add thirdparty building scripts

* use rebased arrow

* fix

* fix build

* fix python visibility

* comment out C tests for now

* fix multithreading

* fix

* reduce logging

* fix plasma manager multithreading

* make sure old and new object IDs can coexist peacefully

* more rebasing

* update

* fixes

* fix

* install pyarrow

* install cython

* fix

* install newer cmake

* fix

* rebase on top of latest arrow

* getting runtest.py run locally (needed to comment out a test for that to work)

* work on plasma tests

* more fixes

* fix local scheduler tests

* fix global scheduler test

* more fixes

* fix python 3 bytes vs string

* fix manager tests valgrind

* fix documentation building

* fix linting

* fix c++ linting

* fix linting

* add tests back in

* Install without sudo.

* Set PKG_CONFIG_PATH in build.sh so that Ray can find plasma.

* Install pkg-config

* Link -lpthread, note that find_package(Threads) doesn't seem to work reliably.

* Comment in testGPUIDs in runtest.py.

* Set PKG_CONFIG_PATH when building pyarrow.

* Pull apache/arrow and not pcmoritz/arrow.

* Fix installation in docker image.

* adapt to changes of the plasma api

* Fix installation of pyarrow module.

* Fix linting.

* Use correct python executable to build pyarrow.
2017-07-31 21:04:15 -07:00
alanamarzoev
dfcd399dbb Cluster heat map. (#792) 2017-07-31 20:49:31 -07:00
alanamarzoev
a2852f2329 Allow multiple web UIs to be open at the same time. (#784)
* Allow multiple web UIs to be open at the same time.

* Changed formatting.
2017-07-31 18:13:24 -07:00
Robert Nishihara
37dafa4d14 Simplify put test and move it to failure tests. (#788) 2017-07-31 17:57:48 -07:00
Robert Nishihara
c394a65ffc Wait longer when getting redis shards to initialize global state API. (#786) 2017-07-31 17:56:11 -07:00
Eric Liang
b6a18cb39b [rllib] Also refactor DQN to use shared RLlib models (#730)
* 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

* 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.

* fix issue

* fix another

* Fix problem in which we log to a directory that hasn't been created.
2017-07-26 12:29:00 -07:00
alanamarzoev
0f0acb8ac1 CPU Time Series. (#765)
Add time series of CPU utilization to web UI.
2017-07-26 00:15:50 -07:00
Robert Nishihara
ff996330e8 If a worker dies unexpectedly, then let it exit. (#762) 2017-07-21 06:36:25 +00:00
Robert Nishihara
13000b7503 Start processes using the same version of Python that was used to start Ray. (#760)
* Make local scheduler start workers using the same version of Python that was used to start the local scheduler.

* Use current version of python to start new processes instead of hardcoded python executable.

* Fix linting.
2017-07-21 00:05:10 +00:00
alanamarzoev
c31c20ca9c Code toggling instructions. (#757) 2017-07-20 10:51:33 -07:00
alanamarzoev
853b2913b7 Task duration distribution plot. (#743)
* Task duration distribution plot.

* Fixed bug.

* Changed axis labels.

* Modify task start point.

* Modified task_profiles func to decode in ascii.

* Nvm

* Changed to double quotes and added comments.

* fixed linting

* Fixed linting.

* Fixed bug.
2017-07-19 23:15:17 -07:00
Philipp Moritz
d356dd3ec4 [rllib] Expose algorithm parameters and tune policy gradient parameters for humanoid (#753)
* parameters for humanoid

* fix
2017-07-19 16:45:05 -07:00
Philipp Moritz
ade6d80820 [rllib] use ray.wait to speed up parallel simulations for policy gradients (#754)
* use ray.wait to speed up parallel simulations for policy gradients

* linting
2017-07-19 16:09:15 -07:00
alanamarzoev
2b3190ad13 Chrome trace timeline with sliders. (#731)
* Trace timeline with sliders.

* Trace.

* Switched ujson to json.

* Fixed tests.

* linting fixes

* Fixed bug.

* Cleaned up code.

* Fixes according to comments.

* removed checkpoints.

* Undid accidental delete.

* Fixed linting error.

* Added documentation to notebook.

* Undid accidental deletes.

* Add comments and small formatting fixes.

* Small fix.
2017-07-17 19:59:49 -07:00
Eric Liang
420013774c [rllib] Pull out shared models for evolution strategies and policy gradient. (#719)
* 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

* 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

* fix linting

* more 4 space

* fix

* fix linT

* oops

* es parity
2017-07-17 08:58:54 +00:00
Eric Liang
86a7909149 make es worker count independent (#740) 2017-07-16 16:23:56 -07:00