问题标签 [keras-rl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
183 浏览

tensorflow - 使用 keras-rl 进行强化学习时出现内存错误

我使用keras-rl并成功运行了keras-rl的示例,即dqn_cartpole.py。然后我更改 env_name 来玩 Pong 游戏,即 env_name = "PongNoFrameskip-v4"。一切看起来都很好,但是程序突然出现内存错误,如下所示:

我也自己重写了代码(不要使用keras-rl的api),但是出现了类似的错误。当我使用 1080Ti 和 48G 内存时,我对结果感到非常困惑。什么原因导致问题?提前致谢。

0 投票
1 回答
1342 浏览

reinforcement-learning - 关于深度 Q 学习的问题

我阅读了一些关于深度 Q 学习的材料,但我不确定我是否完全理解它。从我了解到的情况来看,深度 Q 学习似乎更快地计算 Q 值,而不是通过使用 NN 执行回归、计算损失和反向传播误差以更新权重将它们放在表上。然后,在测试场景中,它需要一个状态,NN 将为该状态可能的每个动作返回几个 Q 值。然后,将选择具有最高 Q 值的动作在该状态下完成。

我唯一的问题是如何更新权重。根据这个网站,权重更新如下:

在此处输入图像描述

我知道权重是随机初始化的,R 由环境返回,gamma 和 alpha 是手动设置的,但我不明白 Q(s',a,w) 和 Q(s,a,w) 是如何初始化和计算的. 似乎我们应该建立一个 Q 值表并像使用 Q-learning 一样更新它们,还是在每个 NN 训练时期自动计算它们?我在这里不明白什么?有人可以更好地向我解释这样的等式吗?

0 投票
0 回答
471 浏览

python - 我的dqn不好用:奖励不变,损失不断增加

我正在尝试使用gym-retro 和keras-rl 的DQNAgent 来训练Gradius,但效果不佳。奖励不增加,损失继续增加。我不明白出了什么问题。

部分输出如下。

该程序在我大学的服务器上运行,我正在使用 SSH 连接服务器。

“点冻结”的结果如下。

我怀疑第一个 conv2d 层有问题,可能与 SequentialMemory 的 window_length 有关。我在想第一个 conv2d 层没有正确地采用或卷积。所以我在 CustomProcessor 类的 process_state_batch 中对批次进行了排序。但是问题并没有解决。

我写的都在这里。

ps:

我尝试了这些解决方案。1,添加最大池化层和密集层 2,使用梯度裁剪 3,向下亚当的 rl 但它仍然不起作用。代码如下。

0 投票
2 回答
639 浏览

python - 训练 keras 模型时,维度如何工作?

得到:

来自 sarsa 代理的 keras-rl 库:

rl.agents.sarsa.SARSAAgent#compute_batch_q_values

这是我的代码:

想知道是否有人可以向我解释应该如何设置尺寸以及它如何与库一起使用?我正在输入一个包含 20 个输入的列表,并希望输出为 10。

0 投票
0 回答
188 浏览

python - 如何访问/操作 keras 模型中的张量元素?

我想测试一个新的网络结构,它需要更改 keras 模型中张量的一些元素。如果我能找到一种方法将张量转换/复制到 numpy 数组,然后再将其转换回张量,那么我应该能够使模型工作。

我尝试使用 .eval() 方法将张量转换为 numpy 数组,但它给了我错误。我也将此模型与 keras-rl 的 DQN 代理一起使用,因此错误可能来自 keras-rl 使用模型的方式。这是我的代码:

请注意,如果我删除了 lambda 层,代码就会运行,所以问题一定出在那里。我收到错误:

如果您知道如何访问和更改 keras 模型中张量的元素,请告诉我。谢谢你。

0 投票
1 回答
1520 浏览

python - TypeError: 'module' object is not callable Tensorboard in Keras

I am implementing a RL agent with policy gradient method. I define a dense network for actor and another dense network for critic. For example, my critic network is:

#xA;

In training phase I'm calling tensorboard:

#xA;

But I'm getting this error:

#xA;
0 投票
1 回答
1985 浏览

python - Python 强化学习 - 元组观察空间

我创建了一个自定义的 openai 健身房环境,其中包含一个离散的动作空间和一个有点复杂的状态空间。状态空间被定义为元组,因为它结合了一些连续的维度和其他离散的维度:

我有一些使用 keras-rl 训练代理的运气,特别是 DQNAgent,但是 keras-rl 的支持不足并且文档记录非常差。对于可以处理这种类型的观察空间的 RL 包有什么建议吗?目前看来 openai 基线和 stable-baselines 都无法处理它。

或者,是否有一种不同的方式可以定义我的状态空间,以便将我的环境适合这些定义更好的包之一?

0 投票
2 回答
953 浏览

python-3.x - 无法在 jupyter 笔记本中导入 keras-rl

我一直在尝试将 kera-rl 导入到我的 jupyter 笔记本中,但每次尝试时都会出现此错误。

如何停止收到此错误?

0 投票
2 回答
7307 浏览

python - TypeError: len 对于符号张量没有很好的定义。(activation_3/Identity:0) 请调用 `x.shape` 而不是 `len(x)` 获取形状信息

我正在尝试在一场 openAI 健身房游戏上实现 DQL 模型。但它给了我以下错误。

TypeError: len 对于符号张量没有很好的定义。(activation_3/Identity:0) 请致电x.shape而不是询问len(x) 形状信息。

创建健身房环境:

我的模型如下所示:

将该模型拟合到 keral-rl 的 DQN 模型,如下所示:

错误来自这一行:

我正在使用 keras-rl==0.4.2 和 tensorflow==2.1.0。根据其他答案,我也尝试了 tensorflow==2.0.0-beta0 但它没有解决错误。

有人可以向我解释为什么我会遇到这个错误吗?以及如何解决?

谢谢你。

0 投票
3 回答
866 浏览

keras - Keras-rl 中的 Keras LSTM 层

我正在尝试使用 Keras-rl 实现 DQN 代理。问题是当我定义我的模型时,我需要在架构中使用 LSTM 层:

执行 rl-agent 我得到以下错误:

这与 LSTM 的使用和以下代码行有关:

使用密集层而不是 LSTM:

并保持禁用急切执行我没有以前报告的错误。如果我删除使用 LSTM 层禁用急切执行,我会遇到其他错误。

谁能帮我理解错误的原因?