INNER CODE UNIT · Python
remember
rasbt/machine-learning-book · ch19/cartpole/main.py:65
def remember(self, transition):
self.memory.append(transition)
def choose_action(self, state):
if np.random.rand() <= self.epsilon:
return np.random.choice(self.action_size)
with torch.no_grad():
q_values = self.model(torch.tensor(state, dtype=torch.float32))[0]
return torch.argmax(q_values).item() # returns action
def _learn(self, batch_samples):
batch_states, batch_targets = [], []
for transition in batch_samples:
s, a, r, next_s, done = transition
with torch.no_grad():
if done:
target = r