我正在使用keras构建DQN,并使用具有经验重播记忆的经典DQN算法对其进行训练。由于在dqn中需要多次调用model.fit,这意味着每次从重播内存中采样批数据时,使用keras的model.fit( .... callbacks=TensorBoard(...))
时,每次拟合都会生成新的事件日志文件。它会产生两个问题,首先,它会生成过于笨拙的事件日志文件,并大大降低培训速度,在Tensorboard中,您看不到任何趋势,例如损失的逐渐减少。
可视化训练过程的方法是什么,例如在强化学习特别DQN实施中看到梯度和激活的变化?
最佳答案
您可以通过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)