我是Tensorflow的新手,已经为这个问题调试了好几天,但是我仍然找不到任何解决方案。
当我打印出损失和报酬时,它反映了实际数字:
total step: 79800.00 reward: 6.00, loss: 0.0107212793
....
total step: 98600.00 reward: 5.00, loss: 0.0002098639
total step: 98700.00 reward: 6.00, loss: 0.0061239433
但是,当我在Tensorboard上绘制它们时,存在三个问题:
这是我的Tensorboard的屏幕截图:
屏幕截图:
为什么会出现这三个问题,我该如何解决?
这是代码,我在每个训练步骤的最后都调用了一个函数:
def make_summary(self):
self.env.render()
if self.episode == 1:
self.writer = tf.summary.FileWriter("./train")
if self.step > self.start_learning and self.step % self.train_freq == 0:
if not self.added_scalars:
self.writer.add_graph(self.sess.graph)
self.episode_reward_ph = tf.placeholder(tf.float32,shape=None,name='episode_reward_ph')
self.average_reward_ph = tf.placeholder(tf.float32,shape=None,name='average_reward_ph')
tf.summary.scalar('episode_reward', self.episode_reward_ph)
tf.summary.scalar('average_reward', self.average_reward_ph)
tf.summary.scalar('loss', self.l)
self.summ = tf.summary.merge_all()
self.added_scalars = True
else:
with self.sess.as_default():
self.merged_summary = self.sess.run(self.summ, feed_dict = {self.episode_reward_ph: self.final_episode_reward,
self.average_reward_ph: self.average_reward})
self.writer.add_summary(self.merged_summary, self.step)
self.writer.flush()