Commit graph

12905 commits

Author SHA1 Message Date
Sven Mika
18c03f8d93
[RLlib] A2C + A3C move to algorithms folder and re-name into A2C/A3C (from ...Trainer). (#25314) 2022-06-01 09:29:16 +02:00
valtab
288a81b42e
[Train]fix train callback nested recusive calling issue (#25015)
Move  initialization for `callback.results_preprocessor` property to `callback.start_training()` method which only be called once while training start, currently initialization is triggered per message.
2022-05-31 20:09:01 -07:00
Eric Liang
acf0da63b6
[data] [API] Remove unnecessary public argument in fully_executed() (#25267) 2022-05-31 16:48:35 -07:00
Eric Liang
5545bc5f45
[data] Fix pipeline pre-repeat caching, and improve the documentation (#25265)
Currently the canonical way to cache a pipeline and repeat it: ds.fully_executed().repeat() crashes. Add a test, fix the docs and stats printing here.
2022-05-31 16:01:00 -07:00
shrekris-anyscale
7754645c83
Revert "[Serve] Deploy Serve deployment graphs via REST API (#25073)" (#25330)
This reverts commit 47709b3300.
2022-05-31 15:37:55 -07:00
Naka Masato
897cb5d778
[Serve][Doc] Update batch.md to fix typo(#25270) 2022-05-31 15:04:18 -07:00
shrekris-anyscale
47709b3300
[Serve] Deploy Serve deployment graphs via REST API (#25073) 2022-05-31 10:57:08 -07:00
Eric Liang
00a9dfb5d5
[data] [API] Add max_epoch argument to iter_epochs() for AIR 2022-05-31 10:53:49 -07:00
Philipp Moritz
f61997d90b
Fix typing of gcs_utils.py and add check to CI (#25285) 2022-05-31 10:45:42 -07:00
SangBin Cho
a2e33e1226
[Core] add-better-error-msg-on-node-failure (#25269)
This enhances the error message printed to the driver when the node is unexpectedly failed
2022-05-31 08:11:14 -07:00
Eric Liang
c93e37aba5
[Datasets] Fix byte size calculation for non-trivial tensors (#25264)
The range datasource was incorrectly calculating tensor sizes if the dimensions != (1,).

Broken out from https://github.com/ray-project/ray/pull/25167/files
2022-05-31 07:30:41 -07:00
Eric Liang
65f908ea31
[Datasets] Dataset pipeline window by bytes fails when read fusion disabled (#25266)
This fixes AttributeError: 'list' object has no attribute 'schema' when read fusion is flag disabled and pipelines are windowed by bytes.

Broken out from https://github.com/ray-project/ray/pull/25167/files
2022-05-31 07:23:23 -07:00
Sven Mika
a0ab4db58a
[RLlib] Make Kai (krfricke) RLlib code owner. (#25315) 2022-05-31 15:08:26 +02:00
Kai Fricke
1ed8bd0345
[release/xgboost/lightgbm] Fix app config dependency install overwriting ray (#25307)
This line:

```
pip3 install -U --force-reinstall xgboost xgboost_ray lightgbm_ray petastorm
```

also re-installs the dependencies of these packages, and the `--force-reinstall` means we overwrite existing ones. This leads us to re-install the latest ray release, overwriting the wheels to be tested:

```
[INFO] 5/31/2022, 12:12:16 AM: Successfully installed ... ray-1.12.1 ...
[INFO] 5/31/2022, 12:12:17 AM: * Executed RUN pip3 install -U --force-reinstall xgboost xgboost_ray petastorm  (ff6ae9f9)
```

Instead, we should use `--no-deps` to avoid re-installing dependencies. Also, the wheels sanity check is moved to after installing additional packages in order to catch these errors earlier.
2022-05-31 13:46:17 +02:00
Pamphile Roy
2da2cb8cdf
Point to latest contributing doc (#25149)
Pointing to the latest documentation for contributor is important as the workflow is always evolving. E.g. the installation instructions for bazel are not representatives of the current state on release vs master. Hence, I propose to update contribution links in the documentation to point to the latest state on master.
2022-05-31 10:13:20 +02:00
Sven Mika
94557e3095
[RLlib] Apex-DDPG TrainerConfig objects. (#25279) 2022-05-30 19:45:38 +02:00
Sven Mika
c5edd82c63
[RLlib] MB-MPO TrainerConfig objects. (#25278) 2022-05-30 17:33:01 +02:00
SangBin Cho
c9cec443dd
[State Observability] Improve existing state output (#25184)
NOTE: This is not the official API improvement. But this will help dogfooding the feature before finalizing the output.

This PR improves the output state/metadata of existing state APIs.
2022-05-30 07:25:28 -07:00
Sven Mika
f75ede1b81
[RLlib] MA-DDPG TrainerConfig objects. (#25255) 2022-05-30 15:38:24 +02:00
Sven Mika
30f6fc340b
[RLlib] AlphaZero TrainerConfig objects. (#25256) 2022-05-30 15:37:58 +02:00
Sven Mika
d95009a3ac
[RLlib] Vectorized envs: Gracefully handle sub-environments failing by restarting them (if configured so). (#24967) 2022-05-28 10:50:03 +02:00
Sven Mika
ab6c3027e5
[RLlib] A2/3C policy sub-classing schema. (#25078) 2022-05-28 09:54:47 +02:00
Stephanie Wang
009df65a57
[core] Fix bug in spilling objects that have empty data field (#25192)
Ray sometimes stores errors as the object value in shared memory. These objects have no data since the error is stored in the metadata field. #25085 describes a bug where these objects fail to spill because the IO worker assumes that the data field must be non-empty. This would cause head-of-line blocking for any other objects to spill and cause the whole job to hang. This PR fixes the issue by spilling these objects anyway.
Related issue number

Closes #25085.
2022-05-27 17:18:45 -07:00
Balaji Veeramani
f9e7b55123
[AIR] Add Torch image example (#24618) 2022-05-27 16:47:21 -07:00
Balaji Veeramani
fb22bc5ae3
[AIR] Fix bug where TensorflowPredictor.predict creates extra axis (#25199) 2022-05-27 13:46:12 -07:00
Edward Oakes
4ad55f640d
[runtime_env] Clarify in docs that python and ray versions must match cluster (#25245)
Follow up from a few users who were confused by this.
2022-05-27 14:24:48 -05:00
Stephanie Wang
61676f26d3
Revert "Revert "[dataset] Use polars for sorting (#24523)" (#24781)" (#25173)
Polars is significantly faster than the current pyarrow-based sort. This PR uses polars for the internal sort implementation if available. No API changes needed.

On my laptop, this makes sorting 1GB about 2x faster:

without polars

$ python release/nightly_tests/dataset/sort.py --partition-size=1e7 --num-partitions=100
Dataset size: 100 partitions, 0.01GB partition size, 1.0GB total
Finished in 50.23415923118591
...
Stage 2 sort: executed in 38.59s

        Substage 0 sort_map: 100/100 blocks executed
        * Remote wall time: 864.21ms min, 1.94s max, 1.4s mean, 140.39s total
        * Remote cpu time: 634.07ms min, 825.47ms max, 719.87ms mean, 71.99s total
        * Output num rows: 1250000 min, 1250000 max, 1250000 mean, 125000000 total
        * Output size bytes: 10000000 min, 10000000 max, 10000000 mean, 1000000000 total
        * Tasks per node: 100 min, 100 max, 100 mean; 1 nodes used

        Substage 1 sort_reduce: 100/100 blocks executed
        * Remote wall time: 125.66ms min, 2.3s max, 1.09s mean, 109.26s total
        * Remote cpu time: 96.17ms min, 1.34s max, 725.43ms mean, 72.54s total
        * Output num rows: 178073 min, 2313038 max, 1250000 mean, 125000000 total
        * Output size bytes: 1446844 min, 18793434 max, 10156250 mean, 1015625046 total
        * Tasks per node: 100 min, 100 max, 100 mean; 1 nodes used

with polars

$ python release/nightly_tests/dataset/sort.py --partition-size=1e7 --num-partitions=100
Dataset size: 100 partitions, 0.01GB partition size, 1.0GB total
Finished in 24.097432136535645
...
Stage 2 sort: executed in 14.02s

        Substage 0 sort_map: 100/100 blocks executed
        * Remote wall time: 165.15ms min, 595.46ms max, 398.01ms mean, 39.8s total
        * Remote cpu time: 349.75ms min, 423.81ms max, 383.29ms mean, 38.33s total
        * Output num rows: 1250000 min, 1250000 max, 1250000 mean, 125000000 total
        * Output size bytes: 10000000 min, 10000000 max, 10000000 mean, 1000000000 total
        * Tasks per node: 100 min, 100 max, 100 mean; 1 nodes used

        Substage 1 sort_reduce: 100/100 blocks executed
        * Remote wall time: 21.21ms min, 472.34ms max, 232.1ms mean, 23.21s total
        * Remote cpu time: 29.81ms min, 460.67ms max, 238.1ms mean, 23.81s total
        * Output num rows: 114079 min, 2591410 max, 1250000 mean, 125000000 total
        * Output size bytes: 912632 min, 20731280 max, 10000000 mean, 1000000000 total
        * Tasks per node: 100 min, 100 max, 100 mean; 1 nodes used

Related issue number

Closes #23612.
2022-05-27 10:43:51 -07:00
Jiao
820cf4fdca
[Deployment Graph] Simplify our use of DeploymentSchema (#25202) 2022-05-27 10:35:32 -07:00
Balaji Veeramani
692335440b
[AIR] Directly convert TorchPredictor ndarray inputs to tensors (#25190)
If you pass a multidimensional input to `TorchPredictor.predict`, AIR errors. For more information about the error, see #25194.

Co-authored-by: Amog Kamsetty <amogkamsetty@yahoo.com>
2022-05-27 09:46:47 -07:00
Sven Mika
163fa81976
[RLlib] Discussion 6060 and 5120: auto-infer different agents' spaces in multi-agent env. (#24649) 2022-05-27 14:56:24 +02:00
Rohan Potdar
ab81c8e9ca
[RLlib]: Rename input_evaluation to off_policy_estimation_methods. (#25107) 2022-05-27 13:14:54 +02:00
Yi Cheng
0bc04f263e
[core] Remove gcs addr updater in core worker. (#24747)
Since we are using domain name resolution to get the new address of GCS, gcs addr updator is not necessary any more. This PR removed that.
2022-05-26 23:38:19 -07:00
Matti Picus
02f220b755
use an agent-id rather than the process PID (#24968)
When using ray inside a virtualenv on windows, python.exe as reported by sys.executable is a PEP397 launcher to the actual python as reported by os.getpid():

>>> import sys, os, psutil
>>> >>> print(sys.executable)
C:\temp\issue24361\Scripts\python.exe
>>> os.getpid()
2208
>>> child = psutil.Process(2208)
>>> child.cmdline()
['C:\\oss\\CPython38\\python.exe']
>>> child.parent().cmdline()
['C:\\temp\\issue24361\\Scripts\\python.exe']
>>> child.parent().pid
6424
When the agent_manager launches the agent process via Process::Process(), it gets the PID of the launcher process (6424), which is what is expected as an ID when registering the agent in the gRPC callback. But inside agent.py, the child process reports the PID via os.getpid(), which is 2208, and this is the wrong PID to register the agent.

The solution proposed here is another version of #24905 that creates a int agent_id = rand(); before starting the python process, and passes the agent_id to the process.
2022-05-26 22:10:35 -07:00
shrekris-anyscale
3234fd3db4
[CI] Bump Bazel version to 4.2.2 (#24242) 2022-05-26 17:09:40 -07:00
Balaji Veeramani
f623c607f2
[AIR] Build model in TensorflowPredictor.predict (#25136)
`TensorflowPredictor.predict` doesn't work right now. For more information, see #25125.

Co-authored-by: Amog Kamsetty <amogkamsetty@yahoo.com>
2022-05-26 16:42:09 -07:00
Antoni Baum
087e356613
[CI] Make certain AIR tests run (#25229)
Fixes certain AIR tests not running and fixes broken tests.
2022-05-26 15:49:39 -07:00
Balaji Veeramani
59e624348e
[AIR] Run test_torch_predictor.py tests and fix failing test_init (#25207)
The tests in `test_torch_predictor.py` weren't in running CI. Also `test_torch_predictor.py::test_init` was failing.

Co-authored-by: Amog Kamsetty <amogkamsetty@yahoo.com>
2022-05-26 15:15:20 -07:00
Balaji Veeramani
1ad5e619e1
[AIR] Run test_tensorflow_predictors.py and fix failing tests (#25208)
`test_tensorflow_predictors` wasn't running in CI. This fixes that and also fixes broken tests.

Co-authored-by: Amog Kamsetty <amogkamsetty@yahoo.com>
2022-05-26 15:15:03 -07:00
Eric Liang
d2f0c3b2f6
Clean up docstyle in data, ml, and tune packages (#25188) 2022-05-26 14:27:20 -07:00
Amog Kamsetty
e8440cf52b
[AIR] Incremental Learning Example (#24420)
Example for domain incremental learning on Permuted MNIST Dataset with naive strategy
2022-05-26 12:28:28 -07:00
kourosh hakhamaneshi
9684ea3af6
[RLlib] Fix TorchPolicyV2 bug. (#25203) 2022-05-26 20:49:26 +02:00
Kai Fricke
c90dacb09b
[ci/release] Use fullmatch instead of match for regex filters (#25225)
Currently, `name:many_actors` matches e.g. `many_actors` and `many_actors_smoke_test`, but it should just match one test. Thus we should use `re.fullmatch` instead of `re.match` (which would require `name:many_actors.*` to match both.
2022-05-26 20:02:00 +02:00
Stephanie Wang
5b304b60c4
Don't adjust OOM for IO workers (#25171)
We should try to avoid killing IO workers, since this can disrupt spilling and add a lot of load on Ray core. This will make it so that we prioritize workers running application tasks instead.
2022-05-26 10:47:21 -07:00
Kai Fricke
2cf20e5406
[ci/release] Use 1.12.1 as base image in app configs (#25216)
Many release tests are currently failing for cuda version incompatibilities. Pinning the base image to 1.12.1 seems to resolve the problem for the time being.
2022-05-26 18:58:20 +02:00
Kai Fricke
d0dfac592a
[tune] Allow iterators in tune.grid_search (#25220)
`tune.choice` already accepts iterables, the same should be true for `tune.grid_search`.
2022-05-26 17:32:39 +02:00
Yi Cheng
7fcea8a8ae
up (#25211) 2022-05-26 07:53:16 -07:00
Amog Kamsetty
983d8b3db2
[AIR] Fix failing CI on master (#25201)
The AIR CI build has been failing on master since #25022.

#25022 moved the tests that require credentials, but we left the bazel command in the build pipeline still. So even though all the tests are passing, the buildkite stage itself was failing since it tries run tests that require credentials, but these tests no longer exist in the directory. This is only a problem for master build since we don't run this command for PR builds.
2022-05-26 11:34:57 +02:00
Kai Fricke
6dac517554
[ci] Protobuf < 4 only in requirements.txt to unblock CI (#25214) 2022-05-26 11:18:14 +02:00
Qing Wang
65d863d349
Revert "Revert "[Java] Remove RayRuntimeInternal class (#25016)" (#25… (#25153)
This reverts commit 804b6b11d1.
2022-05-26 14:15:51 +08:00
xwjiang2010
ff1fb9b5a2
[air example] train a Keras model on tabular data and serve it. (#24898) 2022-05-25 22:19:35 -07:00