Module sac-pendulum.buffer

Classes

class Frame (state: Any, action: Any, reward: Any, state_next: Any, done: bool)

Frame(state, action, reward, state_next, done)

Expand source code
class Frame(NamedTuple):
    state: Any
    action: Any
    reward: Any
    state_next: Any
    done: bool

Ancestors

  • builtins.tuple

Instance variables

var action : Any

Alias for field number 1

var done : bool

Alias for field number 4

var reward : Any

Alias for field number 2

var state : Any

Alias for field number 0

var state_next : Any

Alias for field number 3

class ReplayBuffer (capacity)
Expand source code
class ReplayBuffer:
    def __init__(self, capacity):
        self.capacity = capacity
        self.buffer: List[Frame] = []

    def __len__(self):
        return len(self.buffer)

    def add(self, frame: Frame) -> None:
        self.buffer.append(frame)
        if len(self.buffer) > self.capacity:
            self.buffer.pop(0)

    def sample(self, sz) -> List[Frame]:
        return random.sample(self.buffer, sz)

Methods

def add(self, frame: sac-pendulum.buffer.Frame) ‑> None
def sample(self, sz) ‑> List[sac-pendulum.buffer.Frame]