From 15aa08a3d1c304fb7fddfffd225ef7902f668679 Mon Sep 17 00:00:00 2001 From: Tanay Wakhare Date: Sun, 12 Jul 2020 17:01:32 -0400 Subject: [PATCH] [RLLib] WindowStat bug fix (#9213) * WindowStat error catching, which processes NaNs properly instead of erroring. This ought to resolve issue #7910. https://github.com/ray-project/ray/issues/7910 --- rllib/utils/window_stat.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/rllib/utils/window_stat.py b/rllib/utils/window_stat.py index 4c3221070..9aa0d9f30 100644 --- a/rllib/utils/window_stat.py +++ b/rllib/utils/window_stat.py @@ -16,13 +16,13 @@ class WindowStat: def stats(self): if not self.count: - quantiles = [] + _quantiles = [] else: - quantiles = np.percentile(self.items[:self.count], - [0, 10, 50, 90, 100]).tolist() + _quantiles = np.nanpercentile(self.items[:self.count], + [0, 10, 50, 90, 100]).tolist() return { self.name + "_count": int(self.count), - self.name + "_mean": float(np.mean(self.items[:self.count])), - self.name + "_std": float(np.std(self.items[:self.count])), - self.name + "_quantiles": quantiles, + self.name + "_mean": float(np.nanmean(self.items[:self.count])), + self.name + "_std": float(np.nanstd(self.items[:self.count])), + self.name + "_quantiles": _quantiles, }