Skip to content
This repository has been archived by the owner on Nov 15, 2021. It is now read-only.

Merge with ray master #31

Merged
merged 51 commits into from
May 28, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
351753a
[rllib] Remove dependency on TensorFlow (#4764)
ericl May 11, 2019
004440f
Dynamic Custom Resources - create and delete resources (#3742)
romilbhardwaj May 11, 2019
f3b8b90
Update tutorial link in doc (#4777)
May 12, 2019
69352e3
[rllib] Implement learn_on_batch() in torch policy graph
ericl May 13, 2019
62c949b
Fix `ray stop` by killing raylet before plasma (#4778)
jovany-wang May 13, 2019
1622fc2
Fatal check if object store dies (#4763)
stephanie-wang May 13, 2019
c5161a2
[rllib] fix clip by value issue as TF upgraded (#4697)
joneswong May 13, 2019
67af103
Merge with ray master
stefanpantic May 14, 2019
3bbafc7
[autoscaler] Fix submit (#4782)
richardliaw May 15, 2019
d6bf680
Merge with master
stefanpantic May 15, 2019
cb1a195
Queue tasks in the raylet in between async callbacks (#4766)
stephanie-wang May 15, 2019
643f62d
[Java][Bazel] Refine auto-generated pom files (#4780)
raulchen May 16, 2019
1490a98
Bump version to 0.7.0 (#4791)
devin-petersohn May 16, 2019
98dd033
[JAVA] setDefaultUncaughtExceptionHandler to log uncaught exception i…
guoyuhong May 16, 2019
9f2645d
[tune] Fix CLI test (#4801)
richardliaw May 16, 2019
ffd596d
Fix pom file generation (#4800)
raulchen May 17, 2019
7d5ef6d
[rllib] Support continuous action distributions in IMPALA/APPO (#4771)
ericl May 17, 2019
3807fb5
[rllib] TensorFlow 2 compatibility (#4802)
ericl May 17, 2019
84cf474
Change tagline in documentation and README. (#4807)
pcmoritz May 17, 2019
ffe61fc
[tune] Support non-arg submit (#4803)
richardliaw May 17, 2019
88b45a5
[autoscaler] rsync cluster (#4785)
richardliaw May 17, 2019
e20855c
[tune] Remove extra parsing functionality (#4804)
richardliaw May 17, 2019
dcd6d49
Fix Java worker log dir (#4781)
jovany-wang May 17, 2019
1ef9c07
[tune] Initial track integration (#4362)
noahgolmant May 17, 2019
6cb5b90
[rllib] [RFC] Dynamic definition of loss functions and modularization…
ericl May 18, 2019
04294d9
Merge remote-tracking branch 'remotes/main/master' into unstable
pimpke May 20, 2019
02583a8
[rllib] Rename PolicyGraph => Policy, move from evaluation/ to policy…
ericl May 20, 2019
081708b
[Java] Dynamic resource API in Java (#4824)
jovany-wang May 21, 2019
ac47d03
Merge with master
stefanpantic May 21, 2019
5391b61
Add default values for Wgym flags
stefanpantic May 21, 2019
87bb2e5
Fix import
stefanpantic May 21, 2019
259cdfa
Fix issue when starting `raylet_monitor` (#4829)
jovany-wang May 22, 2019
1a39fee
Refactor ID Serial 1: Separate ObjectID and TaskID from UniqueID (#4776)
guoyuhong May 22, 2019
2015085
Fix bug in which actor classes are not exported multiple times. (#4838)
robertnishihara May 23, 2019
ba6c595
Bump Ray master version to 0.8.0.dev0 (#4845)
devin-petersohn May 24, 2019
4e281ba
Add section to bump version of master branch and cleanup release docs…
devin-petersohn May 24, 2019
71f95e1
Fix import
stefanpantic May 24, 2019
be1850f
Merge branch 'unstable' of github.com:wingman-ai/ray into unstable
stefanpantic May 24, 2019
49fe894
Export remote functions when first used and also fix bug in which rem…
robertnishihara May 24, 2019
a7d01ab
Update wheel versions in documentation to 0.8.0.dev0 and 0.7.0. (#4847)
devin-petersohn May 24, 2019
0ce0ecb
[tune] Later expansion of local_dir (#4806)
richardliaw May 25, 2019
7237ea7
[rllib] [RFC] Deprecate Python 2 / RLlib (#4832)
ericl May 25, 2019
ea8d7b4
Fix a typo in kubernetes yaml (#4872)
ikedaosushi May 26, 2019
6703519
Move global state API out of global_state object. (#4857)
robertnishihara May 26, 2019
7a78e1e
Install bazel in autoscaler development configs. (#4874)
robertnishihara May 26, 2019
574e1c7
[tune] Fix up Ax Search and Examples (#4851)
richardliaw May 27, 2019
a45c61e
[rllib] Update concepts docs and add "Building Policies in Torch/Tens…
ericl May 27, 2019
d7be5a5
[rllib] Fix error getting kl when simple_optimizer: True in multi-age…
ericl May 28, 2019
fa0892f
Replace ReturnIds with NumReturns in TaskInfo to reduce the size (#4854)
guoyuhong May 28, 2019
64a01b2
Update deps commits of opencensus to support building with bzl 0.25.x…
jovany-wang May 28, 2019
0bcc589
Merge with master
stefanpantic May 28, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -495,6 +495,7 @@ flatbuffer_py_library(
"ConfigTableData.py",
"CustomSerializerData.py",
"DriverTableData.py",
"EntryType.py",
"ErrorTableData.py",
"ErrorType.py",
"FunctionTableData.py",
Expand Down
4 changes: 2 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
.. image:: https://readthedocs.org/projects/ray/badge/?version=latest
:target: http://ray.readthedocs.io/en/latest/?badge=latest

.. image:: https://img.shields.io/badge/pypi-0.6.6-blue.svg
.. image:: https://img.shields.io/badge/pypi-0.7.0-blue.svg
:target: https://pypi.org/project/ray/

|

**Ray is a flexible, high-performance distributed execution framework.**
**Ray is a fast and simple framework for building and running distributed applications.**


Ray is easy to install: ``pip install ray``
Expand Down
17 changes: 10 additions & 7 deletions bazel/ray.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,10 @@ def flatbuffer_java_library(name, srcs, outs, out_prefix, includes = [], include
)

def define_java_module(name, additional_srcs = [], additional_resources = [], define_test_lib = False, test_deps = [], **kwargs):
lib_name = "org_ray_ray_" + name
pom_file_targets = [lib_name]
native.java_library(
name = "org_ray_ray_" + name,
name = lib_name,
srcs = additional_srcs + native.glob([name + "/src/main/java/**/*.java"]),
resources = native.glob([name + "/src/main/resources/**"]) + additional_resources,
**kwargs
Expand All @@ -40,8 +42,10 @@ def define_java_module(name, additional_srcs = [], additional_resources = [], de
tags = ["checkstyle"],
)
if define_test_lib:
test_lib_name = "org_ray_ray_" + name + "_test"
pom_file_targets.append(test_lib_name)
native.java_library(
name = "org_ray_ray_" + name + "_test",
name = test_lib_name,
srcs = native.glob([name + "/src/test/java/**/*.java"]),
deps = test_deps,
)
Expand All @@ -53,12 +57,11 @@ def define_java_module(name, additional_srcs = [], additional_resources = [], de
size = "small",
tags = ["checkstyle"],
)

def gen_java_pom_file(name):
pom_file(
name = "org_ray_ray_" + name + "_pom",
targets = [
":org_ray_ray_" + name,
],
targets = pom_file_targets,
template_file = name + "/pom_template.xml",
substitutions = {
"{auto_gen_header}": "<!-- This file is auto-generated by Bazel from pom_template.xml, do not modify it. -->",
},
)
8 changes: 4 additions & 4 deletions bazel/ray_deps_setup.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -80,18 +80,18 @@ def ray_deps_setup():

http_archive(
name = "io_opencensus_cpp",
strip_prefix = "opencensus-cpp-0.3.0",
urls = ["https://github.com/census-instrumentation/opencensus-cpp/archive/v0.3.0.zip"],
strip_prefix = "opencensus-cpp-3aa11f20dd610cb8d2f7c62e58d1e69196aadf11",
urls = ["https://github.com/census-instrumentation/opencensus-cpp/archive/3aa11f20dd610cb8d2f7c62e58d1e69196aadf11.zip"],
)

# OpenCensus depends on Abseil so we have to explicitly pull it in.
# This is how diamond dependencies are prevented.
git_repository(
name = "com_google_absl",
commit = "88a152ae747c3c42dc9167d46c590929b048d436",
commit = "5b65c4af5107176555b23a638e5947686410ac1f",
remote = "https://github.com/abseil/abseil-cpp.git",
)

# OpenCensus depends on jupp0r/prometheus-cpp
http_archive(
name = "com_github_jupp0r_prometheus_cpp",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ pushd "$ROOT_DIR"

python -m pip install pytest-benchmark

pip install -U https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.7.0.dev3-cp27-cp27mu-manylinux1_x86_64.whl
pip install -U https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.8.0.dev0-cp27-cp27mu-manylinux1_x86_64.whl
python -m pytest --benchmark-autosave --benchmark-min-rounds=10 --benchmark-columns="min, max, mean" $ROOT_DIR/../../../python/ray/tests/perf_integration_tests/test_perf_integration.py

pushd $ROOT_DIR/../../../python
Expand Down
6 changes: 6 additions & 0 deletions ci/jenkins_tests/run_rllib_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -289,6 +289,9 @@ docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
/ray/ci/suppress_output python /ray/python/ray/rllib/tests/test_local.py

docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
/ray/ci/suppress_output python /ray/python/ray/rllib/tests/test_dependency.py

docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
/ray/ci/suppress_output python /ray/python/ray/rllib/tests/test_legacy.py

Expand Down Expand Up @@ -365,6 +368,9 @@ docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
/ray/ci/suppress_output python /ray/python/ray/rllib/examples/multiagent_cartpole.py --num-iters=2

docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
/ray/ci/suppress_output python /ray/python/ray/rllib/examples/multiagent_cartpole.py --num-iters=2 --simple

docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
/ray/ci/suppress_output python /ray/python/ray/rllib/examples/multiagent_two_trainers.py --num-iters=2

Expand Down
1 change: 1 addition & 0 deletions ci/long_running_tests/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ setup_commands:
# - sudo apt-get update
# - sudo apt-get install -y build-essential curl unzip
# - git clone https://github.com/ray-project/ray || true
# - ray/ci/travis/install-bazel.sh
# - cd ray/python; git checkout master; git pull; pip install -e . --verbose
# Install nightly Ray wheels.
- pip install -U https://s3-us-west-2.amazonaws.com/ray-wheels/<<RAY_RELEASE_HASH>>/ray-<<RAY_RELEASE_VERSION>>-cp36-cp36m-manylinux1_x86_64.whl
Expand Down
4 changes: 2 additions & 2 deletions ci/stress_tests/application_cluster_template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,8 @@ file_mounts: {
# List of shell commands to run to set up nodes.
setup_commands:
- echo 'export PATH="$HOME/anaconda3/envs/tensorflow_<<<PYTHON_VERSION>>>/bin:$PATH"' >> ~/.bashrc
- ray || wget https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.7.0.dev2-<<<WHEEL_STR>>>-manylinux1_x86_64.whl
- rllib || pip install -U ray-0.7.0.dev2-<<<WHEEL_STR>>>-manylinux1_x86_64.whl[rllib]
- ray || wget https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.8.0.dev0-<<<WHEEL_STR>>>-manylinux1_x86_64.whl
- rllib || pip install -U ray-0.8.0.dev0-<<<WHEEL_STR>>>-manylinux1_x86_64.whl[rllib]
- pip install tensorflow-gpu==1.12.0
- echo "sudo halt" | at now + 60 minutes
# Consider uncommenting these if you also want to run apt-get commands during setup
Expand Down
3 changes: 2 additions & 1 deletion ci/stress_tests/stress_testing_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,10 @@ setup_commands:
- echo 'export PATH="$HOME/anaconda3/bin:$PATH"' >> ~/.bashrc
# # Build Ray.
# - git clone https://github.com/ray-project/ray || true
# - ray/ci/travis/install-bazel.sh
- pip install boto3==1.4.8 cython==0.29.0
# - cd ray/python; git checkout master; git pull; pip install -e . --verbose
- pip install https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.7.0.dev2-cp36-cp36m-manylinux1_x86_64.whl
- pip install https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.8.0.dev0-cp36-cp36m-manylinux1_x86_64.whl
- echo "sudo halt" | at now + 60 minutes

# Custom commands that will be run on the head node after common setup.
Expand Down
4 changes: 2 additions & 2 deletions ci/stress_tests/test_many_tasks_and_transfers.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@

# Wait until the expected number of nodes have joined the cluster.
while True:
if len(ray.global_state.client_table()) >= num_remote_nodes + 1:
if len(ray.nodes()) >= num_remote_nodes + 1:
break
logger.info("Nodes have all joined. There are %s resources.",
ray.global_state.cluster_resources())
ray.cluster_resources())


# Require 1 GPU to force the tasks to be on remote machines.
Expand Down
24 changes: 21 additions & 3 deletions dev/RELEASE_PROCESS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,12 @@ This document describes the process for creating new releases.

6. **Download all the wheels:** Now the release is ready to begin final
testing. The wheels are automatically uploaded to S3, even on the release
branch. The wheels can ``pip install``ed from the following URLs:
branch. To test, ``pip install`` from the following URLs:

.. code-block:: bash

export RAY_HASH=... # e.g., 618147f57fb40368448da3b2fb4fd213828fa12b
export RAY_VERSION=... # e.g., 0.6.6
export RAY_VERSION=... # e.g., 0.7.0
pip install -U https://s3-us-west-2.amazonaws.com/ray-wheels/$RAY_HASH/ray-$RAY_VERSION-cp27-cp27mu-manylinux1_x86_64.whl
pip install -U https://s3-us-west-2.amazonaws.com/ray-wheels/$RAY_HASH/ray-$RAY_VERSION-cp35-cp35m-manylinux1_x86_64.whl
pip install -U https://s3-us-west-2.amazonaws.com/ray-wheels/$RAY_HASH/ray-$RAY_VERSION-cp36-cp36m-manylinux1_x86_64.whl
Expand Down Expand Up @@ -120,10 +120,28 @@ This document describes the process for creating new releases.
git pull origin master --tags
git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%s" | sort

11. **Bump version on Ray master branch:** Create a pull request to increment the
version of the master branch. The format of the new version is as follows:

New minor release (e.g., 0.7.0): Increment the minor version and append ``.dev0`` to
the version. For example, if the version of the new release is 0.7.0, the master
branch needs to be updated to 0.8.0.dev0. `Example PR for minor release`

New micro release (e.g., 0.7.1): Increment the ``dev`` number, such that the number
after ``dev`` equals the micro version. For example, if the version of the new
release is 0.7.1, the master branch needs to be updated to 0.8.0.dev1.

12. **Update version numbers throughout codebase:** Suppose we just released 0.7.1. The
previous release version number (in this case 0.7.0) and the previous dev version number
(in this case 0.8.0.dev0) appear in many places throughout the code base including
the installation documentation, the example autoscaler config files, and the testing
scripts. Search for all of the occurrences of these version numbers and update them to
use the new release and dev version numbers.

.. _documentation: https://ray.readthedocs.io/en/latest/installation.html#trying-snapshots-from-master
.. _`documentation for building wheels`: https://github.com/ray-project/ray/blob/master/python/README-building-wheels.md
.. _`ci/stress_tests/run_stress_tests.sh`: https://github.com/ray-project/ray/blob/master/ci/stress_tests/run_stress_tests.sh
.. _`ci/stress_tests/run_application_stress_tests.sh`: https://github.com/ray-project/ray/blob/master/ci/stress_tests/run_application_stress_tests.sh
.. _`this example`: https://github.com/ray-project/ray/pull/4226
.. _`these wheels here`: https://ray.readthedocs.io/en/latest/installation.html
.. _`GitHub website`: https://github.com/ray-project/ray/releases
.. _`Example PR for minor release`: https://github.com/ray-project/ray/pull/4845
20 changes: 20 additions & 0 deletions doc/source/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,26 @@ The Ray API

.. autofunction:: ray.method

Inspect the Cluster State
-------------------------

.. autofunction:: ray.nodes()

.. autofunction:: ray.tasks()

.. autofunction:: ray.objects()

.. autofunction:: ray.timeline()

.. autofunction:: ray.object_transfer_timeline()

.. autofunction:: ray.cluster_resources()

.. autofunction:: ray.available_resources()

.. autofunction:: ray.errors()


The Ray Command Line API
------------------------

Expand Down
1 change: 1 addition & 0 deletions doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
"ray.core.generated.ActorCheckpointIdData",
"ray.core.generated.ClientTableData",
"ray.core.generated.DriverTableData",
"ray.core.generated.EntryType",
"ray.core.generated.ErrorTableData",
"ray.core.generated.ErrorType",
"ray.core.generated.GcsTableEntry",
Expand Down
12 changes: 6 additions & 6 deletions doc/source/development.rst
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Python script with the following:
.. code-block:: bash

RAY_RAYLET_GDB=1 RAY_RAYLET_TMUX=1 python

You can then list the ``tmux`` sessions with ``tmux ls`` and attach to the
appropriate one.

Expand All @@ -71,17 +71,17 @@ allow core dump files to be written.

Inspecting Redis shards
~~~~~~~~~~~~~~~~~~~~~~~
To inspect Redis, you can use the ``ray.experimental.state.GlobalState`` Python
API. The easiest way to do this is to start or connect to a Ray cluster with
``ray.init()``, then query the API like so:
To inspect Redis, you can use the global state API. The easiest way to do this
is to start or connect to a Ray cluster with ``ray.init()``, then query the API
like so:

.. code-block:: python

ray.init()
ray.worker.global_state.client_table()
ray.nodes()
# Returns current information about the nodes in the cluster, such as:
# [{'ClientID': '2a9d2b34ad24a37ed54e4fcd32bf19f915742f5b',
# 'IsInsertion': True,
# 'EntryType': 0,
# 'NodeManagerAddress': '1.2.3.4',
# 'NodeManagerPort': 43280,
# 'ObjectManagerPort': 38062,
Expand Down
6 changes: 3 additions & 3 deletions doc/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Ray
<a href="https://github.com/ray-project/ray"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/365986a132ccd6a44c23a9169022c0b5c890c387/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f7265645f6161303030302e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png"></a>
</embed>

*Ray is a flexible, high-performance distributed execution framework.*
*Ray is a fast and simple framework for building and running distributed applications.*


Ray is easy to install: ``pip install ray``
Expand Down Expand Up @@ -98,10 +98,10 @@ Ray comes with libraries that accelerate deep learning and reinforcement learnin
rllib-models.rst
rllib-algorithms.rst
rllib-offline.rst
rllib-dev.rst
rllib-concepts.rst
rllib-package-ref.rst
rllib-examples.rst
rllib-dev.rst
rllib-package-ref.rst

.. toctree::
:maxdepth: 1
Expand Down
16 changes: 8 additions & 8 deletions doc/source/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,14 @@ Here are links to the latest wheels (which are built off of master). To install
=================== ===================


.. _`Linux Python 3.7`: https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.7.0.dev2-cp37-cp37m-manylinux1_x86_64.whl
.. _`Linux Python 3.6`: https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.7.0.dev2-cp36-cp36m-manylinux1_x86_64.whl
.. _`Linux Python 3.5`: https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.7.0.dev2-cp35-cp35m-manylinux1_x86_64.whl
.. _`Linux Python 2.7`: https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.7.0.dev2-cp27-cp27mu-manylinux1_x86_64.whl
.. _`MacOS Python 3.7`: https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.7.0.dev2-cp37-cp37m-macosx_10_6_intel.whl
.. _`MacOS Python 3.6`: https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.7.0.dev2-cp36-cp36m-macosx_10_6_intel.whl
.. _`MacOS Python 3.5`: https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.7.0.dev2-cp35-cp35m-macosx_10_6_intel.whl
.. _`MacOS Python 2.7`: https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.7.0.dev2-cp27-cp27m-macosx_10_6_intel.whl
.. _`Linux Python 3.7`: https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.8.0.dev0-cp37-cp37m-manylinux1_x86_64.whl
.. _`Linux Python 3.6`: https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.8.0.dev0-cp36-cp36m-manylinux1_x86_64.whl
.. _`Linux Python 3.5`: https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.8.0.dev0-cp35-cp35m-manylinux1_x86_64.whl
.. _`Linux Python 2.7`: https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.8.0.dev0-cp27-cp27mu-manylinux1_x86_64.whl
.. _`MacOS Python 3.7`: https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.8.0.dev0-cp37-cp37m-macosx_10_6_intel.whl
.. _`MacOS Python 3.6`: https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.8.0.dev0-cp36-cp36m-macosx_10_6_intel.whl
.. _`MacOS Python 3.5`: https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.8.0.dev0-cp35-cp35m-macosx_10_6_intel.whl
.. _`MacOS Python 2.7`: https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.8.0.dev0-cp27-cp27m-macosx_10_6_intel.whl


Building Ray from source
Expand Down
26 changes: 0 additions & 26 deletions doc/source/internals-overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -66,32 +66,6 @@ listens for the addition of remote functions to the centralized control state.
When a new remote function is added, the thread fetches the pickled remote
function, unpickles it, and can then execute that function.

Notes and limitations
~~~~~~~~~~~~~~~~~~~~~

- Because we export remote functions as soon as they are defined, that means
that remote functions can't close over variables that are defined after the
remote function is defined. For example, the following code gives an error.

.. code-block:: python

@ray.remote
def f(x):
return helper(x)

def helper(x):
return x + 1

If you call ``f.remote(0)``, it will give an error of the form.

.. code-block:: python

Traceback (most recent call last):
File "<ipython-input-3-12a5beeb2306>", line 3, in f
NameError: name 'helper' is not defined

On the other hand, if ``helper`` is defined before ``f``, then it will work.

Calling a remote function
-------------------------

Expand Down
4 changes: 2 additions & 2 deletions doc/source/rllib-algorithms.rst
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ Asynchronous Proximal Policy Optimization (APPO)
`[implementation] <https://github.com/ray-project/ray/blob/master/python/ray/rllib/agents/ppo/appo.py>`__
We include an asynchronous variant of Proximal Policy Optimization (PPO) based on the IMPALA architecture. This is similar to IMPALA but using a surrogate policy loss with clipping. Compared to synchronous PPO, APPO is more efficient in wall-clock time due to its use of asynchronous sampling. Using a clipped loss also allows for multiple SGD passes, and therefore the potential for better sample efficiency compared to IMPALA. V-trace can also be enabled to correct for off-policy samples.

This implementation is currently *experimental*. Consider also using `PPO <rllib-algorithms.html#proximal-policy-optimization-ppo>`__ or `IMPALA <rllib-algorithms.html#importance-weighted-actor-learner-architecture-impala>`__.
APPO is not always more efficient; it is often better to simply use `PPO <rllib-algorithms.html#proximal-policy-optimization-ppo>`__ or `IMPALA <rllib-algorithms.html#importance-weighted-actor-learner-architecture-impala>`__.

Tuned examples: `PongNoFrameskip-v4 <https://github.com/ray-project/ray/blob/master/python/ray/rllib/tuned_examples/pong-appo.yaml>`__

Expand Down Expand Up @@ -274,7 +274,7 @@ QMIX Monotonic Value Factorisation (QMIX, VDN, IQN)
---------------------------------------------------
`[paper] <https://arxiv.org/abs/1803.11485>`__ `[implementation] <https://github.com/ray-project/ray/blob/master/python/ray/rllib/agents/qmix/qmix.py>`__ Q-Mix is a specialized multi-agent algorithm. Code here is adapted from https://github.com/oxwhirl/pymarl_alpha to integrate with RLlib multi-agent APIs. To use Q-Mix, you must specify an agent `grouping <rllib-env.html#grouping-agents>`__ in the environment (see the `two-step game example <https://github.com/ray-project/ray/blob/master/python/ray/rllib/examples/twostep_game.py>`__). Currently, all agents in the group must be homogeneous. The algorithm can be scaled by increasing the number of workers or using Ape-X.

Q-Mix is implemented in `PyTorch <https://github.com/ray-project/ray/blob/master/python/ray/rllib/agents/qmix/qmix_policy_graph.py>`__ and is currently *experimental*.
Q-Mix is implemented in `PyTorch <https://github.com/ray-project/ray/blob/master/python/ray/rllib/agents/qmix/qmix_policy.py>`__ and is currently *experimental*.

Tuned examples: `Two-step game <https://github.com/ray-project/ray/blob/master/python/ray/rllib/examples/twostep_game.py>`__

Expand Down
Loading