MCPcopy Create free account
hub / github.com/lazyprogrammer/machine_learning_examples / run_n_steps

Method run_n_steps

rl2/a3c/worker.py:185–217  ·  view source on GitHub ↗
(self, n, sess)

Source from the content-addressed store, hash-verified

183 return vhat[0]
184
185 def run_n_steps(self, n, sess):
186 steps = []
187 for _ in range(n):
188 # Take a step
189 action = self.sample_action(self.state, sess)
190 next_frame, reward, done, _ = self.env.step(action)
191
192 # Shift the state to include the latest frame
193 next_state = shift_frames(self.state, self.img_transformer.transform(next_frame))
194
195 # Save total return
196 if done:
197 print("Total reward:", self.total_reward, "Worker:", self.name)
198 self.returns_list.append(self.total_reward)
199 if len(self.returns_list) > 0 and len(self.returns_list) % 100 == 0:
200 print("*** Total average reward (last 100):", np.mean(self.returns_list[-100:]), "Collected so far:", len(self.returns_list))
201 self.total_reward = 0.
202 else:
203 self.total_reward += reward
204
205 # Save step
206 step = Step(self.state, action, reward, next_state, done)
207 steps.append(step)
208
209 # Increase local and global counters
210 global_step = next(self.global_counter)
211
212 if done:
213 self.state = repeat_frame(self.img_transformer.transform(self.env.reset()))
214 break
215 else:
216 self.state = next_state
217 return steps, global_step
218
219 def update(self, steps, sess):
220 """

Callers 1

runMethod · 0.95

Calls 7

sample_actionMethod · 0.95
shift_framesFunction · 0.85
StepClass · 0.85
repeat_frameFunction · 0.85
stepMethod · 0.45
transformMethod · 0.45
resetMethod · 0.45

Tested by

no test coverage detected