[rllib] Apex crash when compress_observations: False (#2426)

We shouldn't try to decompress uncompressed data.

Also, fix resource requests for ddpg + GPU.
This commit is contained in:
Eric Liang
2018-07-19 15:58:09 -07:00
committed by GitHub
parent d01dc9e22d
commit 8e75d150f7
6 changed files with 32 additions and 5 deletions
+11
View File
@@ -3,6 +3,7 @@ from __future__ import division
from __future__ import print_function
from ray.rllib.agents.ddpg.ddpg import DDPGAgent, DEFAULT_CONFIG as DDPG_CONFIG
from ray.tune.trial import Resources
from ray.utils import merge_dicts
APEX_DDPG_DEFAULT_CONFIG = merge_dicts(
@@ -16,6 +17,7 @@ APEX_DDPG_DEFAULT_CONFIG = merge_dicts(
"debug": False
}),
"n_step": 3,
"gpu": False,
"num_workers": 32,
"buffer_size": 2000000,
"learning_starts": 50000,
@@ -40,6 +42,15 @@ class ApexDDPGAgent(DDPGAgent):
_agent_name = "APEX_DDPG"
_default_config = APEX_DDPG_DEFAULT_CONFIG
@classmethod
def default_resource_request(cls, config):
cf = dict(cls._default_config, **config)
return Resources(
cpu=1 + cf["optimizer"]["num_replay_buffer_shards"],
gpu=cf["gpu"] and 1 or 0,
extra_cpu=cf["num_cpus_per_worker"] * cf["num_workers"],
extra_gpu=cf["num_gpus_per_worker"] * cf["num_workers"])
def update_target_if_needed(self):
# Ape-X updates based on num steps trained, not sampled
if self.optimizer.num_steps_trained - self.last_target_update_ts > \
+2
View File
@@ -63,6 +63,8 @@ DEFAULT_CONFIG = with_common_config({
"prioritized_replay_eps": 1e-6,
# Whether to clip rewards to [-1, 1] prior to adding to the replay buffer.
"clip_rewards": True,
# Whether to LZ4 compress observations
"compress_observations": False,
# === Optimization ===
# Learning rate for adam optimizer