diff --git a/python/ray/rllib/examples/cartpole_lstm.py b/python/ray/rllib/examples/cartpole_lstm.py index 7235cf5a5..e3d0ddc4c 100644 --- a/python/ray/rllib/examples/cartpole_lstm.py +++ b/python/ray/rllib/examples/cartpole_lstm.py @@ -166,11 +166,12 @@ if __name__ == "__main__": tune.run_experiments({ "test": { "env": "cartpole_stateless", - "run": "PG", + "run": "PPO", "stop": { "episode_reward_mean": args.stop }, "config": { + "num_sgd_iter": 5, "model": { "use_lstm": True, }, diff --git a/python/ray/rllib/optimizers/multi_gpu_optimizer.py b/python/ray/rllib/optimizers/multi_gpu_optimizer.py index 234ffea80..e47457036 100644 --- a/python/ray/rllib/optimizers/multi_gpu_optimizer.py +++ b/python/ray/rllib/optimizers/multi_gpu_optimizer.py @@ -108,7 +108,10 @@ class LocalMultiGPUOptimizer(PolicyOptimizer): value = samples[field] standardized = (value - value.mean()) / max(1e-4, value.std()) samples[field] = standardized - samples.shuffle() + + # Important: don't shuffle RNN sequence elements + if not self.policy._state_inputs: + samples.shuffle() with self.load_timer: tuples = self.policy._get_loss_inputs_dict(samples) diff --git a/test/jenkins_tests/run_multi_node_tests.sh b/test/jenkins_tests/run_multi_node_tests.sh index 2e8290f75..e12eca455 100755 --- a/test/jenkins_tests/run_multi_node_tests.sh +++ b/test/jenkins_tests/run_multi_node_tests.sh @@ -301,7 +301,7 @@ docker run -e "RAY_USE_XRAY=1" --rm --shm-size=10G --memory=10G $DOCKER_SHA \ python /ray/python/ray/rllib/examples/multiagent_two_trainers.py --num-iters=2 docker run -e "RAY_USE_XRAY=1" --rm --shm-size=10G --memory=10G $DOCKER_SHA \ - python /ray/python/ray/rllib/examples/cartpole_lstm.py --stop=75 + python /ray/python/ray/rllib/examples/cartpole_lstm.py --stop=200 docker run -e "RAY_USE_XRAY=1" --rm --shm-size=10G --memory=10G $DOCKER_SHA \ python /ray/python/ray/experimental/sgd/test_sgd.py --num-iters=2