From b1394b5daded3205bc96d6b1aaa2116bff9b9a09 Mon Sep 17 00:00:00 2001 From: Lee Kyutae Date: Wed, 15 May 2019 14:18:06 +0900 Subject: [PATCH] Modify evaluation score processing So that it does not record NaN. Now gif is always generated after an evaluation. --- DQN.ipynb | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/DQN.ipynb b/DQN.ipynb index 21d50f9..26e2315 100755 --- a/DQN.ipynb +++ b/DQN.ipynb @@ -1112,21 +1112,27 @@ " eval_rewards.append(episode_reward_sum)\n", " gif = False # Save only the first game of the evaluation as a gif\n", " \n", - " print(\"Evaluation score:\\n\", np.mean(eval_rewards)) \n", - " try:\n", - " generate_gif(frame_number, frames_for_gif, eval_rewards[0], PATH)\n", - " except IndexError:\n", - " print(\"No evaluation game finished\")\n", + " if eval_rewards:\n", + " eval_score = np.mean(eval_rewards)\n", + " first_episode_reward_sum = eval_rewards[0]\n", + " # When the first game of the evaluation is not finished\n", + " # (this would happen if the agent got stuck in a loop)\n", + " else:\n", + " eval_score = episode_reward_sum\n", + " first_episode_reward_sum = episode_reward_sum\n", + "\n", + " print(\"Evaluation score:\\n\", eval_score)\n", + " generate_gif(frame_number, frames_for_gif, first_episode_reward_sum, PATH)\n", " \n", - " #Save the network parameters\n", + " # Save the network parameters\n", " saver.save(sess, PATH+'/my_model', global_step=frame_number)\n", " frames_for_gif = []\n", " \n", " # Show the evaluation score in tensorboard\n", - " summ = sess.run(EVAL_SCORE_SUMMARY, feed_dict={EVAL_SCORE_PH:np.mean(eval_rewards)})\n", + " summ = sess.run(EVAL_SCORE_SUMMARY, feed_dict={EVAL_SCORE_PH:eval_score})\n", " SUMM_WRITER.add_summary(summ, frame_number)\n", " with open('rewardsEval.dat', 'a') as eval_reward_file:\n", - " print(frame_number, np.mean(eval_rewards), file=eval_reward_file)" + " print(frame_number, eval_score, file=eval_reward_file)" ] }, {