强化学习期间如何在渐变中使用Keras Tensorboard回调函数?

时间:2019-04-17 23:41:29

标签: tensorflow machine-learning keras tensorboard reinforcement-learning

我想将标准的Tensorboard回调与Keras fit函数一起使用,以显示权重和梯度直方图。问题在于,在进行强化学习时,没有验证数据,因此在通话中需要验证数据以适合于喀拉拉峰以生成直方图。

here是Tensorboard回调文档。它指出对于write_gradshistogram_freq必须>0。但是如果histogram_freq >0,则需要传递validation_data。如前所述,我没有验证数据,因为我正在进行强化学习(不是监督学习)。

here是Tensorflow回调代码。它使用了validation_data,但是我真的不明白为什么。我只想要权重和梯度的直方图,(我认为这与验证数据无关)。

例如,理想情况下,回调应该像这样简单:

tensorboard = TensorBoard(histogram_freq=1, write_grads=True, log_dir="./")

results = self.model.fit(train_x,
                         train_y, 
                         shuffle=True, 
                         epochs=epochs, 
                         callbacks=[tensorboard])

但是上面的代码当然会产生(预期的)错误:"If printing histograms, validation_data must be provided, and cannot be a generator."

我希望有人可以:

  1. 说明如何显示没有validation_data
  2. 的权重和渐变直方图
  3. 说明为什么需要validation_data。我在源代码中看到了它,但是不能代替使用训练数据吗?

0 个答案:

没有答案