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

python - 是否可以使用 float16 使用 tensorflow 1 进行训练?

目前使用默认设置 - float32 在 tensorflow 模型上训练 keras。

训练后网络被量化:将权重转换为 float16。这将性能提高了 ~x3,同时保持了相同的精度。

我试图从一开始就使用 float16 进行训练,结果惨遭失败。我找不到任何链接来解释这是否可能,如果不是,为什么不可能。

0 投票
0 回答
96 浏览

python - 使用健身房以外的环境 (OpenAI)

在“健身房”环境之外使用这个库('keras-rl')时,我有很多问题想问。我知道这个库的用户很少,所以我可能会接受一个更好的替代库。

我正在尝试在 Chrome (chrome://Dino) 上使用 T-Rex 游戏实现 DQN。当我遇到一些问题时,我正在使用这个库来制作代理:-

在我的 DQN 代理中,代码如下:

顺便说一句,我正在使用 Tensorflow + keras

  1. 那么,既然我想定义我自己的动作(即代理有什么控制),我该如何定义它们?
  2. 在一个只有 2 个动作且没有太多经验的简单环境中,推荐的内存大小是多少?
  3. 在这整个场景中,我如何更改我的奖励系统?假设我想给代理奖励一些默认设置的其他东西。我怎么做?

有没有办法自定义代码以更改我的要求?或者是否有任何其他简单易用的库来以最少的设置制作 DQN 代理?

0 投票
1 回答
584 浏览

python - 在 keras-rl 中定义动作值

我在 keras-rl 中有一个自定义环境,在构造函数中有以下配置

如您所见,我的代理将执行 3 个动作,根据动作,将在下面的函数 step() 中计算不同的奖励:

问题是,如果我打印每一集的动作,它们是 0、2 和 4。我希望它们是 0、1 和 2。如何强制代理使用 keras 仅识别这 3 个动作-rl?

0 投票
0 回答
176 浏览

python - 向 Keras-rl core.py 添加新功能失败

假设我只是将测试函数复制并粘贴到 core.py 中。然后我将新函数的名称更改为 test2。现在,我在 core.py 中有两个相同的函数 test 和 test2 。

然后,在一个 DQN 示例中,例如 dqn_cartpole.py,我调用:

dqn.test2(env, nb_episodes=5, visualize=True)

代替

dqn.test(env, nb_episodes=5, visualize=True)

在以下代码的最后一行。

我把 dqn_cartpole.py 作为参考:

为什么我会收到以下错误?

AttributeError: 'DQNAgent' object has no attribute 'test2'

0 投票
0 回答
93 浏览

python - 如何从外部应用程序驱动 keras-rl 训练?

我正在尝试使用 keras-rl 来训练和使用 AI 来开发用 C++ 编写的带有 Python 绑定的游戏。这是我第一次使用 keras-rl,我发现它的期望与游戏 AI 界面的实现方式不一致。

据我了解,keras-rl 希望通过 Gym Environment 使用以下方法来驱动强化学习本身:

但是,C++ 应用程序希望通过以下方法调用 AI:

我怎样才能最好地调和这两种看似矛盾的方法?我是否需要在单独的进程中运行 keras-rl 并让它们以某种方式进行通信?

(请注意,该应用程序允许针对其他 AI 重复运行 AI,它在 episode_info 中指定,这也是我计划如何区分训练和使用的方式。)

0 投票
0 回答
988 浏览

python - 无法从“keras.callbacks”导入名称“CallbackList”

我正在尝试实施 DQN 来解决 keras 的 RL 问题。我使用 MAC 并在 Anaconda Jupyter 环境中运行此代码。我已经尝试搜索或此错误,但我没有得到任何结果。代码

错误

0 投票
1 回答
1278 浏览

r - 如何在 R 中控制 KerasR 中的学习率

为了在 R 中拟合分类模型,一直在使用library(KerasR). 控制学习率和KerasR

但它给了我这样的错误

模块错误$keras.optimizers$Adam(lr = lr, beta_1 = beta_2, beta_2 = beta_2, : 尝试应用非函数

我也用过keras_compile仍然得到同样的错误。我可以在编译时更改优化器,但最大学习率为 0.01,我想尝试 0.2。

0 投票
1 回答
994 浏览

keras - 如何在 Anaconda 中安装 keras-rl

我开始研究强化学习模型,但目前我被阻止了,因为我还不能下载一个基本的 python 包:keras-rl。

更具体地说,我想导入以下 3 个实用程序:

我使用 Anaconda (Spyder) 进行编码活动,我通常通过 CMD.exe 提示安装各种软件包。

但是,我似乎无法在https://anaconda.org/上找到有关此特定软件包的任何信息。

有人可以帮忙吗?

谢谢!马克拉姆

0 投票
1 回答
103 浏览

reinforcement-learning - 决斗 DQN 更新模型架构并导致问题

我使用以下架构创建了一个初始网络模型。

然后我调用更新网络架构的 DQNAgent

这样做会导致更新的网络架构 - 正如预期的那样。现在的问题是,当我尝试调用这个拟合的新网络时,原来的创建模型函数不能接受保存的模型权重,因为层架构根本不合适。

因此,在不训练新的 dqn 的情况下,我需要找到一种方法来创建一个网络架构,该架构是在原始架构的基础上创建的,但会应用 dqn 模型更改。

0 投票
0 回答
187 浏览

python - MineRL Keras-RL2:检查输入时出错:预期 conv2d_input 有 5 个维度,但得到的数组形状为 (1, 3)

我正在尝试使用 Keras 在MineRL环境中训练代理。到目前为止,这是我的代码:

开始训练时出现以下错误:

正如评论中所问的 env.step() 返回:

更多数据:

  • 蟒蛇 3.7
  • TensorFlow-GPU 2.3.0

我可以想象结构中也存在错误,因为预期尺寸会根据输入而不断变化,例如:如果我输入 5 Dims,则预期为 6 Dims,如果我输入 3 Dims,则预期为 4,等等。

对这个错误有点疯狂。我已经尝试了很多我在网上找到的解决方案,但没有一个奏效。

如果有人可以提供帮助,我会很高兴!

-干杯