MCPcopy Index your code
hub / github.com/pytorch/tutorials / record

Method record

intermediate_source/mario_rl_tutorial.py:690–728  ·  view source on GitHub ↗
(self, episode, epsilon, step)

Source from the content-addressed store, hash-verified

688 self.curr_ep_loss_length = 0
689
690 def record(self, episode, epsilon, step):
691 mean_ep_reward = np.round(np.mean(self.ep_rewards[-100:]), 3)
692 mean_ep_length = np.round(np.mean(self.ep_lengths[-100:]), 3)
693 mean_ep_loss = np.round(np.mean(self.ep_avg_losses[-100:]), 3)
694 mean_ep_q = np.round(np.mean(self.ep_avg_qs[-100:]), 3)
695 self.moving_avg_ep_rewards.append(mean_ep_reward)
696 self.moving_avg_ep_lengths.append(mean_ep_length)
697 self.moving_avg_ep_avg_losses.append(mean_ep_loss)
698 self.moving_avg_ep_avg_qs.append(mean_ep_q)
699
700 last_record_time = self.record_time
701 self.record_time = time.time()
702 time_since_last_record = np.round(self.record_time - last_record_time, 3)
703
704 print(
705 f"Episode {episode} - "
706 f"Step {step} - "
707 f"Epsilon {epsilon} - "
708 f"Mean Reward {mean_ep_reward} - "
709 f"Mean Length {mean_ep_length} - "
710 f"Mean Loss {mean_ep_loss} - "
711 f"Mean Q Value {mean_ep_q} - "
712 f"Time Delta {time_since_last_record} - "
713 f"Time {datetime.datetime.now().strftime('%Y-%m-%dT%H:%M:%S')}"
714 )
715
716 with open(self.save_log, "a") as f:
717 f.write(
718 f"{episode:8d}{step:8d}{epsilon:10.3f}"
719 f"{mean_ep_reward:15.3f}{mean_ep_length:15.3f}{mean_ep_loss:15.3f}{mean_ep_q:15.3f}"
720 f"{time_since_last_record:15.3f}"
721 f"{datetime.datetime.now().strftime('%Y-%m-%dT%H:%M:%S'):>20}\n"
722 )
723
724 for metric in ["ep_lengths", "ep_avg_losses", "ep_avg_qs", "ep_rewards"]:
725 plt.clf()
726 plt.plot(getattr(self, f"moving_avg_{metric}"), label=f"moving_avg_{metric}")
727 plt.legend()
728 plt.savefig(getattr(self, f"{metric}_plot"))
729
730
731######################################################################

Callers 5

timedFunction · 0.80
timedFunction · 0.80
timedFunction · 0.80
timedFunction · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected