关键词:
【中文标题】使用带有 DQN 算法的张量板【英文标题】:Using tensorboard with a DQN algorithm 【发布时间】:2020-12-04 02:09:43 【问题描述】:对于强化学习,我读到张量板并不理想,因为它提供了每集和/或步骤的输入。由于在强化学习中有数千个步骤,它并没有为我们提供内容的概述。我在这里看到了这个修改过的张量板类:https://pythonprogramming.net/deep-q-learning-dqn-reinforcement-learning-python-tutorial/
班级:
class ModifiedTensorBoard(TensorBoard):
# Overriding init to set initial step and writer (we want one log file for all .fit() calls)
def __init__(self, name, **kwargs):
super().__init__(**kwargs)
self.step = 1
self.writer = tf.summary.create_file_writer(self.log_dir)
self._log_write_dir = os.path.join(self.log_dir, name)
# Overriding this method to stop creating default log writer
def set_model(self, model):
pass
# Overrided, saves logs with our step number
# (otherwise every .fit() will start writing from 0th step)
def on_epoch_end(self, epoch, logs=None):
self.update_stats(**logs)
# Overrided
# We train for one batch only, no need to save anything at epoch end
def on_batch_end(self, batch, logs=None):
pass
# Overrided, so won't close writer
def on_train_end(self, _):
pass
def on_train_batch_end(self, batch, logs=None):
pass
# Custom method for saving own metrics
# Creates writer, writes custom metrics and closes writer
def update_stats(self, **stats):
self._write_logs(stats, self.step)
def _write_logs(self, logs, index):
with self.writer.as_default():
for name, value in logs.items():
tf.summary.scalar(name, value, step=index)
self.step += 1
self.writer.flush()
我想让它与这个层一起工作:
n_actions = env.action_space.n
input_dim = env.observation_space.n
model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(20, input_dim = input_dim , activation = 'relu'))#32
model.add(tf.keras.layers.Dense(10, activation = 'relu'))#10
model.add(tf.keras.layers.Dense(n_actions, activation = 'linear'))
model.compile(optimizer=tf.keras.optimizers.Adam(), loss = 'mse')
但我还没有让它工作。任何曾经使用过 tensorboard 的人,你知道如何设置它吗?非常感谢任何见解。
【问题讨论】:
【参考方案1】:我总是在训练 RL 算法期间使用 tensorboard,而无需像上面那样修改任何代码。 只需启动您的作家:
writer = tf.summary.create_file_writer(logdir=log_folder)
开始你的代码:
with writer.as_default():
... do everythng indented inside here
例如如果您想每 100 步将奖励或第一层的权重保存到 tensorboard,只需执行以下操作:
if step % 100 = 0:
tf.summary.scalar(name="reward", data=reward, step=step)
dqn_variable = model.trainable_variables
tf.summary.histogram(name="dqn_variables", data=tf.convert_to_tensor(dqn_variable[0]), step=step)
writer.flush()
这应该可以解决问题:)
【讨论】:
如何在 Keras 中使用张量板显示输入张量
】如何在Keras中使用张量板显示输入张量【英文标题】:HowtoshowinputtensorwithtensorboardinKeras【发布时间】:2019-07-2611:02:08【问题描述】:我正在使用Keras来训练图像分类器。现在我想检查输入到我的ConvNet的输入图像是否正确,我想... 查看详情
张量板中的黑色图表
...部更新,但没有任何改变。有任何想法吗?谢谢!我正在使用Ubuntu16.04.1,蟒蛇2.7.12,火狐50.0,keras1.1.1和张量流0.11.0。tensorboard【问题讨论】:使用chrome而不是firefox完成了这项工作【参考方 查看详情
无法从 jupyter 启动张量板
...从我的jupyternotebook启动tensorboard时出现以下错误。我正在使用condaenvironment并使用特定于环境的内核,因为tensorflow仅安装在我的环境中。我做错了什么?错误:%tensorboard--logdir 查看详情
用 pytorch 闪电组织张量板图
...lightning【发布时间】:2021-02-2812:23:45【问题描述】:我已使用log_graph=True将默认张量板记录器(frompytorch_lightning.loggersimportTensorBoardLogger)添加到我的pytorch闪电训练器中。当我训练我的模型时,我的图表的第一个视图 查看详情
张量板直方图到 matplotlib
...lotlib绘制它们。我会有更多吸引科学论文的情节。我设法使用tf.train.summary_iterator破解了摘要文件的方法,并转储了我想要转储的直方图(tensorflow.core.framework.summ 查看详情
使用张量板回调时出现 CUPTI 错误
】使用张量板回调时出现CUPTI错误【英文标题】:CUPTIerrorwhenusingtensorboardcallback【发布时间】:2020-04-1802:07:13【问题描述】:我目前正在使用CPU来训练LSTM神经网络。当我运行代码时model.compile(loss=\'sparse_categorical_crossentropy\',optimizer... 查看详情
为啥张量板不显示所有指标?
...标?【发布时间】:2020-12-3011:10:11【问题描述】:我正在使用RayTune进行超参数优化和日志记录。RayTune成功记录了我的标量值并将它们写入Tensorboard日志。这些值确实显示在Tensorboards的“SCALARS”部分中,但在“HPARAMS”部分中,只... 查看详情
深度强化学习-dqn算法原理与代码(代码片段)
...较大。如果状态空间或动作空间连续,则该算法无法使用。因此,Q-learning算法只能用于解决离散低维状态空间和动作空间类问题。DQN算法的核心就是用一个人工神经网络来代替Q-tabel,即动作价值函数。网络的输入为... 查看详情
张量板嵌入投影仪上的剩余点在哪里,这些点不是从张量板上下采样的?
】张量板嵌入投影仪上的剩余点在哪里,这些点不是从张量板上下采样的?【英文标题】:Wherearetheremainingpointsonthetensorboardembeddingprojector,whicharenotdownsampledfromtensorboard?【发布时间】:2020-08-0623:35:12【问题描述】:我已经看到“为... 查看详情
为啥张量板图弯曲得很奇怪?
...【发布时间】:2021-05-0519:57:30【问题描述】:最近我开始使用tensorboard来监控我的模型的学习进度,但是我注意到当标量彼此相距太远时,图形会变得奇怪弯曲(您可以在第二张图上看到它,突然跳跃往往会绘制Y轴和后面的奇怪... 查看详情
在张量板上记录训练和验证损失
...间】:2016-04-0100:09:39【问题描述】:我正在尝试学习如何使用tensorflow和tensorboard。我有一个基于MNISTneuralnettutorial的测试项目。在我的代码中,我构建了一个节点,用于计算数据集中正确分类的数字比例,如下所示:correct=tf.nn. 查看详情
张量板未显示超出某个点的步骤
...tensorboard可视化一个日志文件,但它只显示到某个点。我使用的是tensorboard2.7,我的系统是ubuntu18。我已从Windows更改为Ubuntu,并且在Windows中我能够看到所有步骤。到目前为止,我有66k步, 查看详情
如何将张量板图用于列表/数组?
...个值列表(损失值)。损失=[0.9,0.7,0.6,0.4]我在训练时没有使用tensorboard回调。现在我想在张量板上绘制这些值。我该怎么做?【问题讨论】:【参考方案1】:您需要在TensorBoard中绘图的日志。如果要绘制这些值,只需使 查看详情
有啥方法可以查看张量板图中的参数总数?
】有啥方法可以查看张量板图中的参数总数?【英文标题】:isthereanywaytoseetotalnumberofparametersintensorboardgraph?有什么方法可以查看张量板图中的参数总数?【发布时间】:2021-10-2519:00:15【问题描述】:我在张量流中有一个图表,我... 查看详情
如何使其将张量板日志附加到以前的运行中?
...07:36:28【问题描述】:我以这种方式将tensorboard与keras一起使用:fromkeras.callbacksimportTensorBoardtensorboard=TensorBoard(log_dir=\'./logs\',histo 查看详情
张量板在浏览器上加载后不显示
...:56【问题描述】:我正在实施一个GAN来生成假推文。我想使用Tensorboard可视化我的模型,但它没有显示任何内容。这是我第一次使用Tensorboard,我遵循了YouTube上的教程(https://gist.github.com/dandelionm 查看详情
带有 Shap ValueError 的 DeepExplainer:使用不是符号张量的输入调用了 Layersequential_1
】带有ShapValueError的DeepExplainer:使用不是符号张量的输入调用了Layersequential_1【英文标题】:DeepExplainerwithShapValueError:Layersequential_1wascalledwithaninputthatisn\'tasymbolictensor【发布时间】:2020-09-2121:23:31【问题描述】:我尝试使用带有Sha... 查看详情
使用 DQN 求解最短路径
】使用DQN求解最短路径【英文标题】:usingDQNtosolveshortestpath【发布时间】:2021-09-1623:54:31【问题描述】:我正在尝试找出DQN是否可以解决最短路径算法所以我有这个数据框,它包含一个source,其中有nodesid,end,它代表目的地,... 查看详情