Commit Graph
2152 Commits
Author SHA1 Message Date
Eric LiangandGitHub 4b8b703561 [rllib] Some API cleanups and documentation improvements (#4409) 2019-03-21 21:34:22 -07:00
IonandPhilipp Moritz 59079a799c Signal actor failure (#4196) 2019-03-21 15:17:42 -07:00
Kai YangandRobert Nishihara c36d03874b Redis returns OK when removing a non-existent set entry (#4434) 2019-03-21 11:59:15 -07:00
Eric LiangandGitHub 57c1aeb427 [rllib] Use suppress_output instead of run_silent.sh script for tests (#4386)
* fix

* enable custom loss

* Update run_rllib_tests.sh

* enable tests

* fix action prob

* Update suppress_output

* fix example

* fix
2019-03-21 00:15:24 -07:00
Hao ChenandGitHub d03999d01e Cross-language invocation Part 1: Java calling Python functions and actors (#4166) 2019-03-21 13:34:21 +08:00
Richard LiawandGitHub 828dc08ac8 [tune] Fix tests for Function API for better consistency (#4421) 2019-03-20 22:31:38 -07:00
Robert NishiharaandPhilipp Moritz 9c158c6a87 Start dashboard on all nodes and other small fixes. (#4428)
* Start reporter on all nodes.

* More fixes
2019-03-20 13:04:06 -07:00
Stephanie WangandRobert Nishihara 4ac9c1ed6e Fix bug in cluster mode where driver exits when there are tasks in the waiting queue (#4251) 2019-03-20 10:18:27 -07:00
Yuhong GuoandHao Chen 8ce7565530 Refactor pytest fixtures for ray core (#4390) 2019-03-20 11:48:32 +08:00
Eric LiangandGitHub c6f15a0057 Revert [rllib] Reserve CPUs for replay actors in apex (#4404)
* Revert "[rllib] Reserve CPUs for replay actors in apex (#4217)"

This reverts commit 2781d74680.

* comment
2019-03-19 09:58:45 -07:00
Peter SchafhalterandRobert Nishihara c93eb126ec Allow manually writing to return ObjectIDs from tasks/actor methods (#3805) 2019-03-18 19:24:57 -07:00
gehringandRichard Liaw 7c3274e65b [tune] Make the logging of the function API consistent and predictable (#4011)
## What do these changes do?

This is a re-implementation of the `FunctionRunner` which enforces some synchronicity between the thread running the training function and the thread running the Trainable which logs results. The main purpose is to make logging consistent across APIs in anticipation of a new function API which will be generator based (through `yield` statements). Without these changes, it will be impossible for the (possibly soon to be) deprecated reporter based API to behave the same as the generator based API.

This new implementation provides additional guarantees to prevent results from being dropped. This makes the logging behavior more intuitive and consistent with how results are handled in custom subclasses of Trainable.

New guarantees for the tune function API:

- Every reported result, i.e., `reporter(**kwargs)` calls, is forwarded to the appropriate loggers instead of being dropped if not enough time has elapsed since the last results.
- The wrapped function only runs if the `FunctionRunner` expects a result, i.e., when `FunctionRunner._train()` has been called. This removes the possibility that a result will be generated by the function but never logged.
- The wrapped function is not called until the first `_train()` call. Currently, the wrapped function is started during the setup phase which could result in dropped results if the trial is cancelled between `_setup()` and the first `_train()` call.
- Exceptions raised by the wrapped function won't be propagated until all results are logged to prevent dropped results.
- The thread running the wrapped function is explicitly stopped when the `FunctionRunner` is stopped with `_stop()`.
- If the wrapped function terminates without reporting `done=True`, a duplicate result with `{"done": True}`, is reported to explicitly terminate the trial, and components will be notified with a duplicate of the last reported result, but this duplicate will not be logged.

## Related issue number

Closes #3956.
#3949
#3834
2019-03-18 19:14:26 -07:00
Wang QingandRobert Nishihara 3b141b26cd Fix global_state not disconnected after ray.shutdown (#4354) 2019-03-18 16:44:49 -07:00
Kristian HartikainenandRichard Liaw 2a046116ce [tune] Fix _SafeFallbackEncoder type checks (#4238)
* Fix numpy type checks for _SafeFallbackEncoder

* Format changes

* Fix usage of nan_str in _SafeFallbackEncoder
2019-03-18 16:34:56 -07:00
Eric LiangandGitHub 27cd6ea401 [rllib] Flip sign of A2C, IMPALA entropy coefficient; raise DeprecationWarning if negative (#4374) 2019-03-17 18:07:37 -07:00
Richard LiawandGitHub ea5a6f8455 [tune] Simplify API (#4234)
Uses `tune.run` to execute experiments as preferred API.

@noahgolmant

This does not break backwards compat, but will slowly internalize `Experiment`. 

In a separate PR, Tune schedulers should only support 1 running experiment at a time.
2019-03-17 13:03:32 -07:00
markgoodheadandRichard Liaw 20a155d03d [Tune] Support initial parameters for SkOpt search algorithm (#4341)
Similar to the recent change to HyperOpt (#https://github.com/ray-project/ray/pull/3944) this implements both:
1. The ability to pass in initial parameter suggestion(s) to be run through Tune first, before using the Optimiser's suggestions. This is for when you already know good parameters and want the Optimiser to be aware of these when it makes future parameter suggestions.
2. The same as 1. but if you already know the reward value for those parameters you can pass these in as well to avoid having to re-run the experiments. In the future it would be nice for Tune to potentially support this functionality directly by loading previously run Tune experiments and initialising the Optimiser with these (kind of like a top level checkpointing functionality) but this feature allows users to do this manually for now.
2019-03-16 23:11:30 -07:00
Eric LiangandGitHub b513c0f498 [autoscaler] Restore error message for setup 2019-03-16 18:00:37 -07:00
Richard LiawandGitHub 5e95abe63e [tune] Fix performance issue and fix reuse tests (#4379)
* fix tests

* better name

* reduce warnings

* better resource tracking

* oops

* revertmessage

* fix_executor
2019-03-16 13:52:02 -07:00
Eric LiangandGitHub a45019d98c [rllib] Add option to proceed even if some workers crashed (#4376) 2019-03-16 13:34:09 -07:00
Philipp MoritzandRobert Nishihara c5e2c9af4d Build wheels for macOS with Bazel (#4280) 2019-03-15 10:37:57 -07:00
Leon SieversandEric Liang 6b93ec3034 Fixed calculation of num_steps_trained for multi_gpu_optimizer (#4364) 2019-03-14 19:46:02 -07:00
Eric LiangandGitHub 2c1131e8b2 [tune] Add warnings if tune event loop gets clogged (#4353)
* add guards

* comemnts
2019-03-14 19:44:01 -07:00
Yuhong GuoandGitHub becffc6cef Fix checkpoint crash for actor creation task. (#4327)
* Fix checkpoint crash for actor creation task.

* Lint

* Move test to test_actor.py

* Revert unused code in test_failure.py

* Refine test according to Raul's suggestion.
2019-03-14 23:42:57 +08:00
Philipp MoritzandRobert Nishihara 2f37cd7e27 fix wheel building doc (#4360) 2019-03-13 23:11:30 -07:00
Philipp MoritzandRobert Nishihara b0c4e60ffb Build wheels for Linux with Bazel (#4281) 2019-03-13 15:57:33 -07:00
Ameer Haj AliandEric Liang 8a6403c26e [rllib] bug fix: merging --config params with params.pkl (#4336) 2019-03-13 11:26:55 -07:00
Andrew TanandRichard Liaw 87bfa1cf82 [tune] add output flag for Tune CLI (#4322) 2019-03-12 23:56:59 -07:00
Eric LiangandGitHub d5f4698305 [tune] Avoid scheduler blocking, add reuse_actors optimization (#4218) 2019-03-12 23:49:31 -07:00
Stefan PanticandEric Liang 2202a81773 Fix multi discrete (#4338)
* Revert "Revert "[wingman -> rllib] IMPALA MultiDiscrete changes (#3967)" (#4332)"

This reverts commit 3c41cb9b60.

* Fix a bug with log rhos for vtrace

* Reformat

* lint
2019-03-12 20:32:11 -07:00
Eric LiangandGitHub 3c41cb9b60 Revert "[wingman -> rllib] IMPALA MultiDiscrete changes (#3967)" (#4332)
This reverts commit 962b17f567.
2019-03-11 22:51:26 -07:00
Kai YangandStephanie Wang 7ff56ce826 Introduce set data structure in GCS (#4199)
* Introduce set data structure in GCS. Change object table to Set instance.

* Fix a logic bug. Update python code.

* lint

* lint again

* Remove CURRENT_VALUE mode

* Remove 'CURRENT_VALUE'

* Add more test cases

* rename has_been_created to subscribed.

* Make `changed` parameter type of `bool *`

* Rename mode to notification_mode

* fix build

* RAY.SET_REMOVE return error if entry doesn't exist

* lint

* Address comments

* lint and fix build
2019-03-11 14:42:58 -07:00
Andrew TanandRichard Liaw c435013b27 [tune] add-note command for Tune CLI (#4321)
Co-Authored-By: andrewztan <andrewztan12@gmail.com>
2019-03-11 14:16:44 -07:00
Stefan PanticandEric Liang 36cbde651a Add action space to model (#4210) 2019-03-09 19:23:12 -08:00
justinwyangandRobert Nishihara 5adb4a6941 Set _remote() function args and kwargs as optional (#4305) 2019-03-09 16:40:14 -08:00
Richard LiawandGitHub 6630a35353 [tune] Initial Commit for Tune CLI (#3983)
This introduces a light CLI for Tune.
2019-03-08 16:46:05 -08:00
Simon MoandRobert Nishihara 3064fad96b Add ray.experimental.serve Module (#4095) 2019-03-08 16:22:05 -08:00
Eric LiangandGitHub c7f74dbdc7 [rllib] Add async remote workers (#4253) 2019-03-08 15:39:48 -08:00
Robert NishiharaandPhilipp Moritz fd2d8c2c06 Remove Jenkins backend tests and add new long running stress test. (#4288) 2019-03-08 15:29:39 -08:00
Richard LiawandGitHub c3a3360a4a [tune] Add custom field for serializations (#4237) 2019-03-08 11:00:25 -08:00
Kristian HartikainenandRichard Liaw 7e4b4822cf [tune] Fix worker recovery by setting force=False when calling logger sync_now (#4302)
## What do these changes do?
Fixes a tune autoscaling problem where worker recovery causes things to stall.
2019-03-08 10:59:31 -08:00
Philipp MoritzandRobert Nishihara 95254b3d71 Remove the old web UI (#4301) 2019-03-07 23:15:11 -08:00
Yuhong GuoandGitHub b9ea821d16 Use strongly typed IDs in C++. (#4185)
*  Use strongly typed IDs for C++.

* Avoid heap allocation in cython.

* Fix JNI part

* Fix rebase conflict

* Refine

* Remove type check from __init__

* Remove unused constructor declarations.
2019-03-07 21:43:01 +08:00
Eric LiangandGitHub b0332551dd [rllib] Fix APPO + continuous spaces, feed prev_rew/act to A3C properly (#4286) 2019-03-06 21:36:26 -08:00
Hao ChenandGitHub f0465bc68c [Java] Refine tests and fix single-process mode (#4265) 2019-03-07 09:59:13 +08:00
Philipp MoritzandRobert Nishihara 39eed24d47 update version from 0.7.0.dev0 to 0.7.0.dev1 (#4282) 2019-03-06 14:43:09 -08:00
Eric LiangandGitHub 2781d74680 [rllib] Reserve CPUs for replay actors in apex (#4217) 2019-03-06 10:22:12 -08:00
Eric LiangandGitHub 6d705036f3 [rllib] Add callback accessor for raw observation, fix prev actions (#4212) 2019-03-06 10:21:05 -08:00
Eric LiangandGitHub 0e77a8f8c0 [rllib] Add end-to-end tests for RNN sequencing (#4258) 2019-03-06 09:55:07 -08:00
Philipp MoritzandRobert Nishihara ff5e3384ce Update version to 0.7.0.dev1 and update docs 0.6.3 -> 0.6.4 (#4276) 2019-03-05 22:22:29 -08:00