[RLlib] Bug fix: PR anneals beta parameter beyond final given value. (#6973)

* Bug fix: PR anneals beta parameter beyond final given value.

* LINT.

* Trigger travis re-test.
This commit is contained in:
Sven Mika
2020-01-31 09:55:03 -08:00
committed by GitHub
parent 2ccf08ad10
commit 211a9be9a5
+8 -7
View File
@@ -12,7 +12,7 @@ from ray.rllib.policy.sample_batch import SampleBatch, DEFAULT_POLICY_ID, \
from ray.rllib.utils.annotations import override
from ray.rllib.utils.compression import pack_if_needed
from ray.rllib.utils.timer import TimerStat
from ray.rllib.utils.schedules import LinearSchedule
from ray.rllib.utils.schedules import PiecewiseSchedule
from ray.rllib.utils.memory import ray_get_and_free
logger = logging.getLogger(__name__)
@@ -65,12 +65,13 @@ class SyncReplayOptimizer(PolicyOptimizer):
PolicyOptimizer.__init__(self, workers)
self.replay_starts = learning_starts
# linearly annealing beta used in Rainbow paper
self.prioritized_replay_beta = LinearSchedule(
schedule_timesteps=int(
schedule_max_timesteps * beta_annealing_fraction),
initial_p=prioritized_replay_beta,
final_p=final_prioritized_replay_beta)
# Linearly annealing beta used in Rainbow paper, stopping at
# `final_prioritized_replay_beta`.
self.prioritized_replay_beta = PiecewiseSchedule(
endpoints=[(0, prioritized_replay_beta),
(schedule_max_timesteps * beta_annealing_fraction,
final_prioritized_replay_beta)],
outside_value=final_prioritized_replay_beta)
self.prioritized_replay_eps = prioritized_replay_eps
self.train_batch_size = train_batch_size
self.before_learn_on_batch = before_learn_on_batch