Commit Graph

6812 Commits

Author SHA1 Message Date
Peter Schafhalter 7a5f25248e [rllib] Improve conv_filters documentation (#2540)
* Improve conv_filters documentation

* Update catalog.py

* Update catalog.py
2018-08-02 14:29:40 -07:00
Eric Liang f7ec292360 [rllib] Support agent.get_action in multiagent (#2543)
* support get action on policy id

* comment

* grammar fixes

* Update rllib-algorithms.rst
2018-08-02 13:35:53 -07:00
Yuhong Guo d2ebe4d9a3 Fix frequent failure of Jenkins CI. (#2490) 2018-08-02 10:28:28 -07:00
Philipp Moritz d8ba667175 Convert asserts in unittest to pytest (#2529) 2018-08-01 22:32:10 -07:00
Eric Liang 9ea57c2a93 [rllib] Basic IMPALA implementation (using deepmind's reference vtrace.py) (#2504)
Rename AsyncSamplesOptimizer -> AsyncReplayOptimizer
  Add AsyncSamplesOptimizer that implements the IMPALA architecture
  integrate V-trace with a3c policy graph
  audit V-trace integration
  benchmark compare vs A3C and with V-trace on/off
PongNoFrameskip-v4 on IMPALA scaling from 16 to 128 workers, solving Pong in <10 min. For reference, solving this env takes ~40 minutes for Ape-X and several hours for A3C.
2018-08-01 20:53:53 -07:00
Wang Qing e4f68ff8cf [Java Worker] Support raylet on Java (#2479) 2018-08-01 17:52:49 -07:00
Eric Liang 9a479b3a63 [rllib] Document creating an ensemble of envs; also add vector_index attribute to env config (#2513)
This also removes the async resetting code in VectorEnv. While that improves benchmark performance slightly, it substantially complicates env configuration and probably isn't worth it for most envs.

This makes it easy to efficiently support setups like Joint PPO: https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/retro-contest/gotta_learn_fast_report.pdf

For example, for 188 envs, you could do something like num_envs: 10, num_envs_per_worker: 19.
2018-08-01 16:29:27 -07:00
Eric Liang a630e332f3 [rllib] Don't use get_gpu_ids() in ppo
This lets the num_gpus config work properly even when not using tune, since the gpu ids won't be set by ray in that case.
2018-08-01 16:25:11 -07:00
Eric Liang d9a36c4e39 [rllib] Document auto-concat in a3c (#2533)
* docs

* update hyperparm docs
2018-08-01 15:11:30 -07:00
Zhijun Fu ca36827f01 [Issues 2403][xray] Fix raylet performance issues on scheduling queue (#2438)
* merge from ray
* Revert "merge from ray"
This reverts commit 32b181ebbb1fa184026631e1a7368112c4c3118d.
* fix raylet performance regression
* address comments
* Update code after merging latest changes
* fix lint
* address comments
2018-08-01 14:41:20 -07:00
Melih Elibol 89f60e39f3 Override user-specified name tag. (#2480)
Override user-specified name tag.
2018-08-01 14:16:57 -04:00
Stephanie Wang e90ecef297 [xray] Try to flush children of a task that is evicted from the lineage cache (#2531) 2018-08-01 00:23:02 -07:00
Robert Nishihara 909d7172b1 Introduce constant for ID_SIZE in python code. (#2517) 2018-07-31 12:40:53 -07:00
mehrdadn 64d00ff39e Remove Visual Studio projects (#2525) 2018-07-31 10:22:24 -07:00
Philipp Moritz d9a019b8e5 Upgrade arrow to include pytorch fix (#2522)
This fixes https://github.com/ray-project/ray/issues/2520
2018-07-30 20:20:18 -07:00
Stephanie Wang a45f9cfafc [xray] Implement task lease table, logic for deciding when to reconstruct a task (#2497) 2018-07-30 14:42:28 -07:00
Eric Liang 38d00986a5 [rllib] Cleanups: deep merge configs properly; enforce min iter time on APEX (#2500)
The dict merge prevents crashes when tune is trying to get resource requests for agents and you override a config subkey. The min iter time prevents iterations from getting too small, incurring high overhead. This is easy to run into on Ape-X since throughput can get very high.
2018-07-30 13:25:35 -07:00
Eric Liang 62a52ee989 [rllib] Fix corner case in rnn episode handling
We should use episode ids instead of the timestep to determine when sequences should be cut, since when batches are concatenated, increasing t does not guarantee we are part of the same episode.
2018-07-30 13:24:43 -07:00
Philipp Moritz 696a229ece Fix text verbosity in python 2.7 by running tests with pytest (#2470) 2018-07-30 11:04:06 -07:00
Hao Chen fe65f9fbbc improve java api doc (#2508) 2018-07-29 20:41:11 -07:00
Robert Nishihara 3f3514c2b3 Deprecate PYTHON_MODE more gracefully. (#2487) 2018-07-29 16:25:46 -07:00
Steve Severance f1b4ea69a3 Prevent hasher from running out of memory on large files (#2451)
* Prevent hasher from running out of memory on large files

* dump out keys

* only print if failed

* remove debugging

* Fix lint error. Reverse adding newline.
2018-07-28 23:29:09 -07:00
Ion 80db69d245 State transition diagram documentation. (#2502)
* Added description of transition diagram and a few name changes for imporved clarity.

* rename some methods and update task_states.rst
2018-07-28 22:28:45 -07:00
Hao Chen 0ea7a6abf0 add java tutorial (#2491) 2018-07-28 17:09:30 -07:00
Eric Liang 90a3ea9443 [xray] Fix heartbeat subscription for autoscaler (#2498) 2018-07-28 13:34:55 -07:00
Peter Schafhalter e10377567c Add benchmark for ray.get (#2499) 2018-07-28 09:09:21 -07:00
Philipp Moritz ecc100cb3b Upgrade arrow to include pytorch fix (#2496) 2018-07-28 01:28:44 -07:00
Peter Schafhalter ccb9a27393 Add benchmarks for ray.put (#2489) 2018-07-27 17:49:21 -07:00
Peter Schafhalter 302510ada0 [asv] Add actor benchmarks (#2469)
* Add actor benchmarks

* Fix bug

* Address comments and refactor

* Update benchmark_actor.py
2018-07-27 17:40:02 -07:00
Robert Nishihara 2be1ccbd8f Raise application-level exceptions for some failure scenarios. (#2429)
* Raise application level exception for actor methods that can't be executed and failed tasks.

* Retry task forwarding for actor tasks.

* Small cleanups

* Move constant to ray_config.

* Create ForwardTaskOrResubmit method.

* Minor

* Clean up queued tasks for dead actors.

* Some cleanups.

* Linting

* Notify task_dependency_manager_ about failed tasks.

* Manage timer lifetime better.

* Use smart pointers to deallocate the timer.

* Fix

* add comment
2018-07-27 19:53:30 -04:00
Eric Liang 24649726dc [rllib] Use batch.count in async samples optimizer (#2488)
Using the actual batch size reduces the risk of mis-accounting. Here, we under-counted samples since in truncate_episodes mode we were doubling the batch size by accident in policy_evaluator.
2018-07-27 16:44:21 -07:00
Peter Schafhalter 1e6b130b90 [asv] Add benchmarks for tasks (#2471)
* Add benchmarks for tasks

* Fixes

* Add timeout
2018-07-27 13:59:55 -07:00
Stephanie Wang 6675361684 [xray] Track ray.get calls as task dependencies (#2362) 2018-07-27 11:59:17 -07:00
Hao Chen 5b015f9a79 Remove the check of java primitive types (#2495) 2018-07-27 11:44:19 -07:00
Shuo 29451cca82 Add test: running a driver for twice. (#2464) 2018-07-27 00:57:52 -07:00
Zhijun Fu 9ad6a973a0 [xray] lineage optimization: avoid unnecessary lineage entry allocation & free (#2463)
* merge from ray

* Revert "merge from ray"

This reverts commit 32b181ebbb1fa184026631e1a7368112c4c3118d.

* [xray] avoid unnecessary lineage entry allocation & free

* address comments

* address review comments

* address comments
2018-07-26 10:44:38 -04:00
Yuhong Guo 46351957bb Fix MAC_WHEELS=1 (#2477) 2018-07-25 14:57:28 -07:00
Yuhong Guo b35ce5dbf1 Update Arrow Package with breaking changes (#2440)
* Merge the breaking change of Arrow Package.

* Fix typo

* Fix lint.

* put forward declarations into header

* fix

* add protocol.h

* fix linting
2018-07-25 14:28:33 -07:00
Richard Liaw 7edc677304 [rllib] Extra Changes for Usability (#2363) 2018-07-24 20:51:22 -07:00
Sergey Kolesnikov 05490b8cb9 [rllib] dqn/ddpg policy customization (#2445)
* dqn policy update - more customization

* docs for custom DQN graph

* Update rllib-training.rst

* Update rllib-models.rst

* Update rllib.rst

* Update rllib-training.rst

* Update rllib-concepts.rst

* yapf codestyle
2018-07-22 14:47:14 -07:00
Eric Liang 68660453e4 [rllib] Better support and add two-trainer example for multiagent (#2443)
This adds a simple DQN+PPO example for multi-agent. We don't do anything fancy here, just syncing weights between two separate trainers. This potentially is wasting some compute, but is very simple to set up.

It might be nice to share experience collection between the top-level trainers in the future.
2018-07-22 05:09:25 -07:00
Shuo 99d0d96aef Use different serialization context for each driver. (#2406) 2018-07-20 23:42:49 -07:00
Hao Chen 05f485e274 Allow Ray API to be used from multiple threads (#2422) 2018-07-20 15:39:01 -07:00
Robert Nishihara 4b6157ed09 Remove link to install Linux Python 3.3 wheel. (#2434) 2018-07-20 15:15:43 -07:00
nam-cern c0b4c3b6cf Use absolute path to get to thirdparty dir (#2442)
* Use absolute path to get to thirdparty dir

In case this script is executed from a different directory than the Ray's directory, the `pushd` will fail. This commit uses absolute path to `thirdparty` directory.

* Update setup_thirdparty.sh
2018-07-20 15:12:25 -07:00
Eric Liang 807f309b3a [test] Fix broken rllib test (#2446)
This fixes the broken build.
2018-07-20 13:47:41 -07:00
Philipp Moritz e821f852ef [xray] Silence some object manager logging (#2437) 2018-07-20 13:10:03 -07:00
Peter Schafhalter 2a3b02649a Add queue test to xray tests (#2433) 2018-07-19 17:18:13 -07:00
Peter Schafhalter 400a3e5705 Add queue size and __len__ methods (#2432) 2018-07-19 17:04:42 -07:00
Peter Schafhalter 4225ac5081 Add benchmark using queue (#2431) 2018-07-19 16:43:22 -07:00