Skip to content
This repository was archived by the owner on Aug 18, 2021. It is now read-only.

Commit a858829

Browse files
committed
forgot helpers file
1 parent d222a9d commit a858829

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

reinforce-gridworld/helpers.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
def interpolate(i, v_from, v_to, over):
2+
return (v_from - v_to) * max(0, (1 - i / over)) + v_to
3+
4+
class SlidingAverage:
5+
def __init__(self, name, steps=100):
6+
self.name = name
7+
self.steps = steps
8+
self.t = 0
9+
self.ns = []
10+
self.avgs = []
11+
12+
def add(self, n):
13+
self.ns.append(n)
14+
if len(self.ns) > self.steps:
15+
self.ns.pop(0)
16+
self.t += 1
17+
if self.t % self.steps == 0:
18+
self.avgs.append(self.value)
19+
20+
@property
21+
def value(self):
22+
if len(self.ns) == 0: return 0
23+
return sum(self.ns) / len(self.ns)
24+
25+
def __str__(self):
26+
return "%s=%.4f" % (self.name, self.value)
27+
28+
def __gt__(self, value): return self.value > value
29+
def __lt__(self, value): return self.value < value

0 commit comments

Comments
 (0)