问题标签 [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.
tensorflow - Keras 数据生成器预测相同数量的值
我已经实现了一个基于 CNN 的回归模型,它使用数据生成器来使用我拥有的大量数据。训练和评估效果很好,但预测存在问题。例如,如果我想从 50 个样本的测试数据集中预测值,我使用批量大小为 5 的 model.predict。问题是 model.predict 返回 5 个重复 10 次的值,而不是 50 个不同的值。如果我将批量大小更改为 1,也会发生同样的事情,它将返回一个值 50 次。
为了解决这个问题,我使用了一个完整的批量大小(在我的示例中为 50),并且它有效。但是我不能在我的整个测试数据上使用这种方法,因为它太大了。
您还有其他解决方案,或者我的方法有什么问题?
我的数据生成器代码:
我如何调用 model.predict()
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”
有没有人找到解决该错误的方法?
tensorflow - 如何使用经过训练的 RL 模型进行预测?
我想使用我训练有素的 RL 模型进行离散测试预测。
这是模型的构建方式:
动作空间是一个离散值。观察空间是一个简单的浮点值:
测试功能运行良好:
但是当我这样做时:
我收到此错误:
ValueError:密集层的输入0与层不兼容::预期的min_ndim = 2,发现ndim = 0。收到的完整形状:()
它是做出预测的正确方法吗?输入数据应该是什么样的?
tensorflow - 如何使用自定义 TF 回调打印出经过测试的 openai 健身房环境的状态?
这是我的功能:
我从https://www.tensorflow.org/guide/keras/custom_callback
我有一个用于训练我的 DQN 的标准 openai 健身房环境:
如果可能的话,我想从回调类中绘制sum(self.state.values())的值。我想了解如何将这些值传递给方法中的回调类:
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)的输入。
python - Keras RL 未实现覆盖类方法的错误
我一直在与 RL 代理合作,在 openai 健身房解决出租车问题。
我从 keras-rl 中选择了 DQNAgent,并按照此处的示例进行操作:
https://tiewkh.github.io/blog/deepqlearning-openaiitaxi/
它似乎适用于一批的大部分。
然后我收到此错误消息:
如果我在没有调试魔法的情况下运行,我会收到一条略有不同的错误消息:
在我的 DQNAgent 中,向后的方法被覆盖了,所以我不确定为什么我会看到这个。
我已经尝试使用调试器进行挖掘,但除了这两个错误消息之外,我运气不佳。是否有其他方法需要我重写,这可能会引发这样的错误?
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
:
有人可以告诉我我做错了什么吗?
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 上运行它,并且都产生了相同的结果。为什么我会收到此错误?
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 以及如何避免它们?
python - 使用 DDPG RL 算法时出现 FailedPreconditionError,在 python 中,使用 keras,keras-rl2
我正在使用 openai gym 编写的自定义环境中训练 DDPG 代理。我在训练模型时遇到错误。
当我在网上搜索解决方案时,我发现一些遇到类似问题的人能够通过初始化变量来解决它。
但我使用的是没有这种方法的 tensorflow 2.5.0 版。这意味着应该有其他方法来解决这个错误。但我无法找到解决方案。
这是我与那里版本一起使用的库
错误/堆栈跟踪:
演员和评论家网络如下:
这是DDPG代理的代码