- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于强化学习,我读到张量板并不理想,因为它提供了每集和/或步骤的输入。由于强化学习有数千个步骤,因此它并没有给我们内容的概述。我在这里看到了这个修改后的张量板类:https://pythonprogramming.net/deep-q-learning-dqn-reinforcement-learning-python-tutorial/
类(class):
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 的人知道如何设置吗?非常感谢任何见解。
最佳答案
我在 RL 算法训练期间始终使用张量板,没有像上面那样修改任何代码。只需启动您的作家:
writer = tf.summary.create_file_writer(logdir=log_folder)
开始你的代码:
with writer.as_default():
... do everythng indented inside here
例如如果你想每 100 步将奖励或第一层的权重保存到张量板,只需执行以下操作:
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()
这应该可以解决问题:)
关于tensorflow - 使用带有 DQN 算法的张量板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63408505/
我正在尝试使用 keras 在 Python 中编写自己的 DQN。我认为我的逻辑是正确的。我正在 CartPole 环境中尝试,但奖励在 50,000 集后并没有增加。任何帮助将不胜感激。目前我不关
我一直在尝试使用本文中的 DQN 解决 OpenAI 登月游戏 https://arxiv.org/pdf/2006.04938v2.pdf 问题是训练 50 集需要 12 个小时,所以一定是出了什么
我有一个或多或少标准的 DQN 实现来解决 Atari“Breakout”(来自 Coursera 强化学习类(class)),它在不同的计算机上表现完全不同: 在我的笔记本电脑上它收敛每次我运行它
QLearning方法有着明显的局限性,当状态和动作空间是离散的且维数不高时可使用Q-Table存储每个状态动作的Q值,而当状态和动作时高维连续时,该方法便不太适用。可以将Q-Table的更新问题变
对于强化学习,我读到张量板并不理想,因为它提供了每集和/或步骤的输入。由于强化学习有数千个步骤,因此它并没有给我们内容的概述。我在这里看到了这个修改后的张量板类:https://pythonprogr
对于强化学习,我读到张量板并不理想,因为它提供了每集和/或步骤的输入。由于强化学习有数千个步骤,因此它并没有给我们内容的概述。我在这里看到了这个修改后的张量板类:https://pythonprogr
我创建了一个深度 Q 网络来玩贪吃蛇。该代码运行良好,但在训练周期中性能并未真正提高。最后,它与采取随机操作的代理几乎没有区别。这是训练代码: def train(self): sel
编辑:以下似乎也是 FrozenLake-v0 的情况.请注意,我对简单的 Q 学习不感兴趣,因为我想看到适用于连续观察空间的解决方案。 我最近创建了 banana_gym OpenAI 环境。场景如
我正在使用 DQN 算法在我的环境中训练代理,如下所示: 代理通过选择离散 Action (左、右、上、下)来控制汽车 目标是以理想的速度行驶而不会撞到其他汽车 状态包含代理的汽车和周围汽车的速度和位
我正在实现简单的 DQN算法使用 pytorch , 解决来自 gym 的 CartPole 环境.我已经调试了一段时间,我无法弄清楚为什么模型没有学习。 观察: 使用 SmoothL1Loss性能比
我正在尝试构建一个可以学习玩游戏的深度 Q 网络 (DQN) 代理 2048 。我正在关注基于蛇游戏的其他程序和文章,并且效果很好( specifically this one )。 作为输入状态,我
我的任务涉及大型网格世界类型的环境(网格大小可能为 30x30、50x50、100x100,最大为 200x200)。该网格中的每个元素包含 0 或 1,它们在每个情节中随机初始化。我的目标是训练一个
我正在改编 Tabor 的 DQN 类(class) (https://github.com/philtabor/Deep-Q-Learning-Paper-To-Code) 中的 Pytorch 代
我正在使用 keras 构建 DQN,并使用具有经验回放内存的经典 DQN 算法对其进行训练。由于在 dqn 中,您需要多次调用 model.fit,这意味着每次从重播内存中采样批量数据时,使用 ke
我正在改编 Tabor 的 DQN 类(class) (https://github.com/philtabor/Deep-Q-Learning-Paper-To-Code) 中的 Pytorch 代
鉴于 OpenAI Gym 环境 MountainCar-v0总是返回 -1.0 作为奖励(即使目标实现了),我不明白 DQN 与经验回放如何收敛,但我知道它会收敛,因为我有 working code
我正在训练 DQN 来玩 OpenAI 的 Atari 环境,但我的网络的 Q 值迅速爆炸,远高于现实水平。 这是代码的相关部分: for state, action, reward, next_st
我最近开始研究神经网络。我目前正在试验 DQN。我已经能够让他们使用大量的 Atari 教程,但发现我无法理解整个问题,所以我为 DQN 编写了一个简单的模式来处理它只是 A 比 B 大,如果不是,则
您好,我正在尝试训练 DQN 来解决健身房的 Cartpole 问题。出于某种原因 Loss看起来像这样(橙色线)。你们能看看我的代码并帮助解决这个问题吗?我对超参数进行了一些尝试,所以我认为它们不是
所以我一直在关注 DQN 代理示例/教程,并按照示例中的方式进行设置,唯一的区别是我构建了自己的自定义 python 环境,然后将其包装在 TensorFlow 中。然而,无论我如何塑造我的观察和行动
我是一名优秀的程序员,十分优秀!