Keras Tensorboard用于DQN强化学习 - python

我正在使用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)

如何在模型内部冻结模型的特定层? - python

我的keras模型由多个模型组成。每个“子模型”都有多个层次。如何在“子模型”中调出图层并设置可训练性/冻结特定图层? python参考方案 我将使用Keras中的VGG19卷积神经网络的示例,尽管它适用于任何神经网络体系结构:from keras.applications.vgg19 import VGG19 model = VGG19(weights=&…

keras中的自定义RMSPE损失函数 - python

我正在尝试在keras中定义我自己的损失函数,即均方根百分比误差。 RMSPE定义为:我已经将损失函数定义为:from keras import backend as K def rmspe(y_true, y_pred): sum = K.sqrt(K.mean(K.square( (y_true - y_pred) / K.clip(K.abs(y_tr…

如何保持Keras模型加载到内存中并在需要时使用它? - python

我正在阅读Keras blog讲解如何使用Flask创建简单的图像分类器Restful API。我想知道如何在不使用python的其他Web框架中实现加载模型的相同方法。在下面的代码中,将在服务器启动之前将模型加载到内存中,直到服务器处于活动状态,它才会运行:# if this is the main thread of execution first lo…

Python GPU资源利用 - python

我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…

Keras-categorical_accuracy和sparse_categorical_accuracy之间的区别 - python

Keras中的categorical_accuracy和sparse_categorical_accuracy有什么区别? documentation for these metrics中没有任何提示,通过询问Google博士,我也没有找到答案。可以在here中找到源代码:def categorical_accuracy(y_true, y_pred): r…