MCPcopy Index your code
hub / github.com/lazyprogrammer/machine_learning_examples / ReplayBuffer

Class ReplayBuffer

tf2.0/rl_trader.py:36–60  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

34
35### The experience replay memory ###
36class ReplayBuffer:
37 def __init__(self, obs_dim, act_dim, size):
38 self.obs1_buf = np.zeros([size, obs_dim], dtype=np.float32)
39 self.obs2_buf = np.zeros([size, obs_dim], dtype=np.float32)
40 self.acts_buf = np.zeros(size, dtype=np.uint8)
41 self.rews_buf = np.zeros(size, dtype=np.float32)
42 self.done_buf = np.zeros(size, dtype=np.uint8)
43 self.ptr, self.size, self.max_size = 0, 0, size
44
45 def store(self, obs, act, rew, next_obs, done):
46 self.obs1_buf[self.ptr] = obs
47 self.obs2_buf[self.ptr] = next_obs
48 self.acts_buf[self.ptr] = act
49 self.rews_buf[self.ptr] = rew
50 self.done_buf[self.ptr] = done
51 self.ptr = (self.ptr+1) % self.max_size
52 self.size = min(self.size+1, self.max_size)
53
54 def sample_batch(self, batch_size=32):
55 idxs = np.random.randint(0, self.size, size=batch_size)
56 return dict(s=self.obs1_buf[idxs],
57 s2=self.obs2_buf[idxs],
58 a=self.acts_buf[idxs],
59 r=self.rews_buf[idxs],
60 d=self.done_buf[idxs])
61
62
63

Callers 1

__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected