mirror of
https://github.com/wassname/ray.git
synced 2026-07-22 13:00:49 +08:00
Modularize Tune tests from multi-node tests (#4204)
This commit is contained in:
@@ -18,6 +18,9 @@ echo "Using Docker image" $DOCKER_SHA
|
||||
|
||||
source $ROOT_DIR/run_rllib_tests.sh
|
||||
|
||||
######################## TUNE TESTS #################################
|
||||
|
||||
bash $ROOT_DIR/run_tune_tests.sh ${MEMORY_SIZE} ${SHM_SIZE} $DOCKER_SHA
|
||||
|
||||
######################## SGD TESTS #################################
|
||||
|
||||
@@ -76,72 +79,3 @@ python3 $ROOT_DIR/multi_node_docker_test.py \
|
||||
--mem-size=60G \
|
||||
--shm-size=60G \
|
||||
--test-script=/ray/ci/jenkins_tests/multi_node_tests/large_memory_test.py
|
||||
|
||||
######################## TUNE TESTS #################################
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
pytest /ray/python/ray/tune/tests/test_cluster.py
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/tune_mnist_ray.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/pbt_example.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/hyperband_example.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/async_hyperband_example.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/tune_mnist_ray_hyperband.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/tune_mnist_async_hyperband.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/logging_example.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/bayesopt_example.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/hyperopt_example.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} -e SIGOPT_KEY $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/sigopt_example.py \
|
||||
--smoke-test
|
||||
|
||||
# Runs only on Python3
|
||||
# docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
# python /ray/python/ray/tune/examples/nevergrad_example.py \
|
||||
# --smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/tune_mnist_keras.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/mnist_pytorch.py --smoke-test --no-cuda
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/mnist_pytorch_trainable.py \
|
||||
--smoke-test --no-cuda
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/genetic_example.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/skopt_example.py \
|
||||
--smoke-test
|
||||
|
||||
@@ -313,9 +313,6 @@ 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/python/ray/rllib/tests/run_silent.sh tests/test_supported_spaces.py
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
pytest /ray/python/ray/tune/tests/test_cluster.py
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
/ray/python/ray/rllib/tests/run_silent.sh tests/test_env_with_subprocess.py
|
||||
|
||||
|
||||
Executable
+98
@@ -0,0 +1,98 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Cause the script to exit if a single command fails.
|
||||
set -e
|
||||
|
||||
# Show explicitly which commands are currently running.
|
||||
set -x
|
||||
|
||||
MEMORY_SIZE=$1
|
||||
SHM_SIZE=$2
|
||||
DOCKER_SHA=$3
|
||||
|
||||
ROOT_DIR=$(cd "$(dirname "${BASH_SOURCE:-$0}")"; pwd)
|
||||
|
||||
if [ "$MEMORY_SIZE" == "" ]; then
|
||||
MEMORY_SIZE="20G"
|
||||
fi
|
||||
if [ "$SHM_SIZE" == "" ]; then
|
||||
SHM_SIZE="20G"
|
||||
fi
|
||||
if [ "$DOCKER_SHA" == "" ]; then
|
||||
echo "Building application docker."
|
||||
docker build -q --no-cache -t ray-project/base-deps docker/base-deps
|
||||
|
||||
# Add Ray source
|
||||
git rev-parse HEAD > ./docker/tune_test/git-rev
|
||||
git archive -o ./docker/tune_test/ray.tar $(git rev-parse HEAD)
|
||||
DOCKER_SHA=$(docker build --no-cache -q -t ray-project/tune_test docker/tune_test)
|
||||
fi
|
||||
|
||||
echo "Using Docker image" $DOCKER_SHA
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
pytest /ray/python/ray/tune/tests/test_cluster.py
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/tune_mnist_ray.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/pbt_example.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/hyperband_example.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/async_hyperband_example.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/tune_mnist_ray_hyperband.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/tune_mnist_async_hyperband.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/logging_example.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/bayesopt_example.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/hyperopt_example.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} -e SIGOPT_KEY $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/sigopt_example.py \
|
||||
--smoke-test
|
||||
|
||||
# Runs only on Python3
|
||||
# docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
# python3 /ray/python/ray/tune/examples/nevergrad_example.py \
|
||||
# --smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/tune_mnist_keras.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/mnist_pytorch.py --smoke-test --no-cuda
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/mnist_pytorch_trainable.py \
|
||||
--smoke-test --no-cuda
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/genetic_example.py \
|
||||
--smoke-test
|
||||
|
||||
docker run --rm --shm-size=${SHM_SIZE} --memory=${MEMORY_SIZE} $DOCKER_SHA \
|
||||
python /ray/python/ray/tune/examples/skopt_example.py \
|
||||
--smoke-test
|
||||
@@ -0,0 +1,25 @@
|
||||
# The stress_test Docker image build a self-contained Ray instance for launching Ray.
|
||||
|
||||
FROM ray-project/base-deps
|
||||
|
||||
# We install ray and boto3 to enable the ray autoscaler as
|
||||
# a test runner.
|
||||
RUN pip install -U https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.7.0.dev0-cp27-cp27mu-manylinux1_x86_64.whl boto3
|
||||
# We install this after the latest wheels -- this should not override the latest wheels.
|
||||
RUN apt-get install -y zlib1g-dev
|
||||
RUN pip install gym[atari]==0.10.11 opencv-python-headless tensorflow lz4 keras pytest-timeout smart_open
|
||||
RUN pip install --upgrade bayesian-optimization
|
||||
RUN pip install --upgrade git+git://github.com/hyperopt/hyperopt.git
|
||||
RUN pip install --upgrade sigopt
|
||||
# RUN pip install --upgrade nevergrad
|
||||
RUN pip install --upgrade scikit-optimize
|
||||
RUN conda install pytorch-cpu torchvision-cpu -c pytorch
|
||||
|
||||
# RUN mkdir -p /root/.ssh/
|
||||
|
||||
# We port the source code in so that we run the most up-to-date stress tests.
|
||||
ADD ray.tar /ray
|
||||
ADD git-rev /ray/git-rev
|
||||
RUN python /ray/python/ray/rllib/setup-rllib-dev.py --yes
|
||||
|
||||
WORKDIR /ray
|
||||
@@ -5,6 +5,7 @@ from __future__ import absolute_import
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
|
||||
import argparse
|
||||
import click
|
||||
import os
|
||||
import subprocess
|
||||
@@ -12,14 +13,14 @@ import subprocess
|
||||
import ray
|
||||
|
||||
|
||||
def do_link(package):
|
||||
def do_link(package, force=False):
|
||||
package_home = os.path.abspath(
|
||||
os.path.join(ray.__file__, "../{}".format(package)))
|
||||
local_home = os.path.abspath(
|
||||
os.path.join(__file__, "../../{}".format(package)))
|
||||
assert os.path.isdir(package_home), package_home
|
||||
assert os.path.isdir(local_home), local_home
|
||||
if not click.confirm(
|
||||
if not force and not click.confirm(
|
||||
"This will replace:\n {}\nwith a symlink to:\n {}".format(
|
||||
package_home, local_home),
|
||||
default=True):
|
||||
@@ -35,9 +36,16 @@ def do_link(package):
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
do_link("rllib")
|
||||
do_link("tune")
|
||||
do_link("autoscaler")
|
||||
parser = argparse.ArgumentParser(
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||
description="Setup dev.")
|
||||
parser.add_argument(
|
||||
"--yes", action='store_true', help="Don't ask for confirmation.")
|
||||
args = parser.parse_args()
|
||||
|
||||
do_link("rllib", force=args.yes)
|
||||
do_link("tune", force=args.yes)
|
||||
do_link("autoscaler", force=args.yes)
|
||||
print("Created links.\n\nIf you run into issues initializing Ray, please "
|
||||
"ensure that your local repo and the installed Ray are in sync "
|
||||
"(pip install -U the latest wheels at "
|
||||
|
||||
@@ -8,10 +8,6 @@ import time
|
||||
import os
|
||||
import pytest
|
||||
import shutil
|
||||
try:
|
||||
import pytest_timeout
|
||||
except ImportError:
|
||||
pytest_timeout = None
|
||||
|
||||
import ray
|
||||
from ray import tune
|
||||
@@ -134,10 +130,6 @@ def test_remove_node_before_result(start_connected_emptyhead_cluster):
|
||||
runner.step()
|
||||
|
||||
|
||||
@pytest.mark.skipif(
|
||||
pytest_timeout is None,
|
||||
reason="Timeout package not installed; skipping test.")
|
||||
@pytest.mark.timeout(120, method="thread")
|
||||
def test_trial_migration(start_connected_emptyhead_cluster):
|
||||
"""Removing a node while cluster has space should migrate trial.
|
||||
|
||||
@@ -208,10 +200,6 @@ def test_trial_migration(start_connected_emptyhead_cluster):
|
||||
runner.step()
|
||||
|
||||
|
||||
@pytest.mark.skipif(
|
||||
pytest_timeout is None,
|
||||
reason="Timeout package not installed; skipping test.")
|
||||
@pytest.mark.timeout(120, method="thread")
|
||||
def test_trial_requeue(start_connected_emptyhead_cluster):
|
||||
"""Removing a node in full cluster causes Trial to be requeued."""
|
||||
cluster = start_connected_emptyhead_cluster
|
||||
@@ -361,6 +349,7 @@ def test_cluster_down_full(start_connected_cluster, tmpdir):
|
||||
cluster.shutdown()
|
||||
|
||||
|
||||
@pytest.mark.skip(reason="Not very consistent.")
|
||||
def test_cluster_rllib_restore(start_connected_cluster, tmpdir):
|
||||
cluster = start_connected_cluster
|
||||
dirpath = str(tmpdir)
|
||||
|
||||
Reference in New Issue
Block a user