问题标签 [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 投票
3 回答
324 浏览

tensorflow - Keras 数据生成器预测相同数量的值

我已经实现了一个基于 CNN 的回归模型,它使用数据生成器来使用我拥有的大量数据。训练和评估效果很好,但预测存在问题。例如,如果我想从 50 个样本的测试数据集中预测值,我使用批量大小为 5 的 model.predict。问题是 model.predict 返回 5 个重复 10 次的值,而不是 50 个不同的值。如果我将批量大小更改为 1,也会发生同样的事情,它将返回一个值 50 次。

为了解决这个问题,我使用了一个完整的批量大小(在我的示例中为 50),并且它有效。但是我不能在我的整个测试数据上使用这种方法,因为它太大了。

您还有其他解决方案,或者我的方法有什么问题?

我的数据生成器代码:

我如何调用 model.predict()

0 投票
1 回答
402 浏览

python - 拟合 keras 模型时文件“mtrand.pyx”中的 Numpy 错误

我在用:

  • keras-rl2:1.0.4
  • 张量流:2.4.1
  • 麻木:1.19.5
  • 健身房 0.18.0

用于为强化学习项目训练 DQN 模型。

我的动作空间包含 60 个离散值:

我在 x 步骤后收到此错误:

当我使用较少数量的离散动作(<10)时,它不会每次都发生。

我找到了该修复程序,但我不明白如何应用它。我找不到任何文件“numpy/random/mtrand/mtrand.pyx”

有没有人找到解决该错误的方法?

0 投票
1 回答
171 浏览

tensorflow - 如何使用经过训练的 RL 模型进行预测?

我想使用我训练有素的 RL 模型进行离散测试预测。

这是模型的构建方式:

动作空间是一个离散值。观察空间是一个简单的浮点值:

测试功能运行良好:

但是当我这样做时:

我收到此错误:

ValueError:密集层的输入0与层不兼容::预期的min_ndim = 2,发现ndim = 0。收到的完整形状:()

它是做出预测的正确方法吗?输入数据应该是什么样的?

0 投票
0 回答
41 浏览

tensorflow - 如何使用自定义 TF 回调打印出经过测试的 openai 健身房环境的状态?

这是我的功能:

我从https://www.tensorflow.org/guide/keras/custom_callback

我有一个用于训练我的 DQN 的标准 openai 健身房环境:

如果可能的话,我想从回调类中绘制sum(self.state.values())的值。我想了解如何将这些值传递给方法中的回调类:

0 投票
0 回答
70 浏览

tensorflow - ValueError:Conv2D_1 层的输入 0 与层不兼容:预期 ndim=4,发现 ndim=5。收到的完整形状:[None, 3, 210, 160, 3]

我想构建一个 CNN 模型,该模型需要 3 个连续图像而不是一个,因此输入的形状为: (3,height, width, channels=3) :

这个结构对我来说似乎是逻辑,但我得到了:

请注意,我知道也可以更改数据形状,以便可以将 3 张图像放入 3*3 通道的单个图像中。但我无法在我的程序中应用该解决方案。我想传递(3,高度,宽度,3)的输入。

0 投票
0 回答
218 浏览

python - Keras RL 未实现覆盖类方法的错误

我一直在与 RL 代理合作,在 openai 健身房解决出租车问题。

我从 keras-rl 中选择了 DQNAgent,并按照此处的示例进行操作:

https://tiewkh.github.io/blog/deepqlearning-openaiitaxi/

它似乎适用于一批的大部分。

然后我收到此错误消息:

如果我在没有调试魔法的情况下运行,我会收到一条略有不同的错误消息:

在我的 DQNAgent 中,向后的方法被覆盖了,所以我不确定为什么我会看到这个。

我已经尝试使用调试器进行挖掘,但除了这两个错误消息之外,我运气不佳。是否有其他方法需要我重写,这可能会引发这样的错误?

0 投票
0 回答
119 浏览

python - 模型输出 "Tensor("activation_9/activation_9/Identity:0", shape=(?, 6), dtype=float32)" 的形状无效

我在尝试构建 DQN 模型时收到此错误,但我收到此错误:

我在 keras-rl 和 tensorflow 中的版本有一些问题,所以这些是我正在使用的版本:

张量流==1.13.1

Keras==2.2.4

keras-rl2==1.0.4

代码如下所示:

我正在使用 tensorflow==1.13 因为我也有以下_keras_shape问题DQNAgent

有人可以告诉我我做错了什么吗?

0 投票
0 回答
237 浏览

jupyter-notebook - 如何在健身房中创建 SpaceInvaders-v0 环境

我正在尝试用 python 中的健身房为 SpaceInvaders-v0 创建一个环境。我安装了 tensorflow、gym、gym[atari]、keras-rl2 和 jupyter。

然后我运行以下代码

我得到了以下异常

FileNotFoundError: 找不到模块'c:\users\my_user\anaconda3\envs\practicalrl\lib\site-packages\atari_py\ale_interface\ale_c.dll'。尝试使用带有构造函数语法的完整路径。

我检查了 ale_c.dll 的路径,并在它应该在的文件夹中找到它。我尝试使用 python 控制台和本地 jupyter notebook 在 python 和 anaconda 上运行它,并且都产生了相同的结果。为什么我会收到此错误?

0 投票
0 回答
302 浏览

python - Keras-RL:ValueError:概率在 policy.py 中包含 NaN

我用 openai 健身房创建了一个环境,现在我正在尝试不同的设置和代理。我从 dqn_cartpole 示例 ( https://github.com/wau/keras-rl2/blob/master/examples/dqn_cartpole.py ) 中的代理开始。在某些时候,由于 NaN 值,q 值的计算失败。我在下面的设置中添加了我的 Traceback 和小的更改。

我的设置与 dqn_cartpole 示例相比:

密集层:我选择了 256、64、16 而不是 16、16、16

• 错误前的最后训练集:497280/500000:集:2960,持续时间:13.926s,集步数:168,每秒步数:12,集奖励:47056.579,平均奖励:280.099 [-10229.000, 8998.000],平均动作: 45.298 [0.000, 96.000],损失:60564033920565248.000000,mae:3245972224.000000,mean_q:3358134016.000000

当我使用EpsGreedyQPolicy. 有没有可能理解为什么会产生 NaN 以及如何避免它们?

0 投票
1 回答
146 浏览

python - 使用 DDPG RL 算法时出现 FailedPreconditionError,在 python 中,使用 keras,keras-rl2

我正在使用 openai gym 编写的自定义环境中训练 DDPG 代理。我在训练模型时遇到错误。

当我在网上搜索解决方案时,我发现一些遇到类似问题的人能够通过初始化变量来解决它。

但我使用的是没有这种方法的 tensorflow 2.5.0 版。这意味着应该有其他方法来解决这个错误。但我无法找到解决方案。

这是我与那里版本一起使用的库

错误/堆栈跟踪:

演员和评论家网络如下:

这是DDPG代理的代码