问题标签 [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.
python - 是否可以使用 float16 使用 tensorflow 1 进行训练?
目前使用默认设置 - float32 在 tensorflow 模型上训练 keras。
训练后网络被量化:将权重转换为 float16。这将性能提高了 ~x3,同时保持了相同的精度。
我试图从一开始就使用 float16 进行训练,结果惨遭失败。我找不到任何链接来解释这是否可能,如果不是,为什么不可能。
python - 使用健身房以外的环境 (OpenAI)
在“健身房”环境之外使用这个库('keras-rl')时,我有很多问题想问。我知道这个库的用户很少,所以我可能会接受一个更好的替代库。
我正在尝试在 Chrome (chrome://Dino) 上使用 T-Rex 游戏实现 DQN。当我遇到一些问题时,我正在使用这个库来制作代理:-
在我的 DQN 代理中,代码如下:
顺便说一句,我正在使用 Tensorflow + keras
- 那么,既然我想定义我自己的动作(即代理有什么控制),我该如何定义它们?
- 在一个只有 2 个动作且没有太多经验的简单环境中,推荐的内存大小是多少?
- 在这整个场景中,我如何更改我的奖励系统?假设我想给代理奖励一些默认设置的其他东西。我怎么做?
有没有办法自定义代码以更改我的要求?或者是否有任何其他简单易用的库来以最少的设置制作 DQN 代理?
python - 在 keras-rl 中定义动作值
我在 keras-rl 中有一个自定义环境,在构造函数中有以下配置
如您所见,我的代理将执行 3 个动作,根据动作,将在下面的函数 step() 中计算不同的奖励:
问题是,如果我打印每一集的动作,它们是 0、2 和 4。我希望它们是 0、1 和 2。如何强制代理使用 keras 仅识别这 3 个动作-rl?
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'
python - 如何从外部应用程序驱动 keras-rl 训练?
我正在尝试使用 keras-rl 来训练和使用 AI 来开发用 C++ 编写的带有 Python 绑定的游戏。这是我第一次使用 keras-rl,我发现它的期望与游戏 AI 界面的实现方式不一致。
据我了解,keras-rl 希望通过 Gym Environment 使用以下方法来驱动强化学习本身:
但是,C++ 应用程序希望通过以下方法调用 AI:
我怎样才能最好地调和这两种看似矛盾的方法?我是否需要在单独的进程中运行 keras-rl 并让它们以某种方式进行通信?
(请注意,该应用程序允许针对其他 AI 重复运行 AI,它在 episode_info 中指定,这也是我计划如何区分训练和使用的方式。)
python - 无法从“keras.callbacks”导入名称“CallbackList”
我正在尝试实施 DQN 来解决 keras 的 RL 问题。我使用 MAC 并在 Anaconda Jupyter 环境中运行此代码。我已经尝试搜索或此错误,但我没有得到任何结果。代码
错误
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。
keras - 如何在 Anaconda 中安装 keras-rl
我开始研究强化学习模型,但目前我被阻止了,因为我还不能下载一个基本的 python 包:keras-rl。
更具体地说,我想导入以下 3 个实用程序:
我使用 Anaconda (Spyder) 进行编码活动,我通常通过 CMD.exe 提示安装各种软件包。
但是,我似乎无法在https://anaconda.org/上找到有关此特定软件包的任何信息。
有人可以帮忙吗?
谢谢!马克拉姆
reinforcement-learning - 决斗 DQN 更新模型架构并导致问题
我使用以下架构创建了一个初始网络模型。
然后我调用更新网络架构的 DQNAgent
这样做会导致更新的网络架构 - 正如预期的那样。现在的问题是,当我尝试调用这个拟合的新网络时,原来的创建模型函数不能接受保存的模型权重,因为层架构根本不合适。
因此,在不训练新的 dqn 的情况下,我需要找到一种方法来创建一个网络架构,该架构是在原始架构的基础上创建的,但会应用 dqn 模型更改。
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,等等。
对这个错误有点疯狂。我已经尝试了很多我在网上找到的解决方案,但没有一个奏效。
如果有人可以提供帮助,我会很高兴!
-干杯