Keras Tensorboard用于DQN强化学习

时间:2019-01-09 07:12:39

标签: python tensorflow keras tensorboard reinforcement-learning

我正在使用keras构建DQN,并使用具有经验重播记忆的经典DQN算法对其进行训练。由于在dqn中需要多次调用model.fit,这意味着每次从重播内存中采样批数据时,使用keras的model.fit( .... callbacks=TensorBoard(...))时,每次拟合都会生成新的事件日志文件。它会产生两个问题,首先会生成过分的事件日志文件并减慢训练速度,在Tensorboard中您看不到任何趋势,例如损失逐渐减少。

可视化训练过程的方法是什么,例如在强化学习特殊DQN实施中看到梯度和激活的变化?

1 个答案:

答案 0 :(得分:-1)

您可以通过TensorFlow:

# Create FileWriter
file_writer = tf.summary.FileWriter(log_dir, tf.get_default_graph())
history = model.fit(state, Q_values, epochs=1, verbose=0)
loss = history.history['loss'][0]

# Add values to Tensorboard
training_summary = tf.Summary(value=[tf.Summary.Value(tag="loss", simple_value=loss),
                                     tf.Summary.Value(tag="score", simple_value=score)])
file_writer.add_summary(training_summary, global_step=total_frames)