Last active
November 13, 2020 06:46
-
-
Save pythonlessons/96efc7e2affd23db54871b21789bdd2a to your computer and use it in GitHub Desktop.
LunarLander-v2-run_batch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def run_batch(self): # train every self.Training_batch episodes | |
| state = self.env.reset() | |
| state = np.reshape(state, [1, self.state_size[0]]) | |
| done, score, SAVING = False, 0, '' | |
| while True: | |
| # Instantiate or reset games memory | |
| states, next_states, actions, rewards, predictions, dones = [], [], [], [], [], [] | |
| for t in range(self.Training_batch): | |
| self.env.render() | |
| # Actor picks an action | |
| action, action_onehot, prediction = self.act(state) | |
| # Retrieve new state, reward, and whether the state is terminal | |
| next_state, reward, done, _ = self.env.step(action) | |
| # Memorize (state, action, reward) for training | |
| states.append(state) | |
| next_states.append(np.reshape(next_state, [1, self.state_size[0]])) | |
| actions.append(action_onehot) | |
| rewards.append(reward) | |
| dones.append(done) | |
| predictions.append(prediction) | |
| # Update current state | |
| state = np.reshape(next_state, [1, self.state_size[0]]) | |
| score += reward | |
| if done: | |
| self.episode += 1 | |
| average, SAVING = self.PlotModel(score, self.episode) | |
| print("episode: {}/{}, score: {}, average: {:.2f} {}".format(self.episode, self.EPISODES, score, average, SAVING)) | |
| state, done, score, SAVING = self.env.reset(), False, 0, '' | |
| state = np.reshape(state, [1, self.state_size[0]]) | |
| self.replay(states, actions, rewards, predictions, dones, next_states) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment