1

我对 Ray RLlib 非常陌生,并且在使用我的团队制作的自定义模拟器时遇到了问题。我们正在尝试将基于 Python 的自定义模拟器集成到 Ray RLlib 中,以进行单代理 DQN 训练。但是,我不确定如何将模拟器作为环境集成到 RLlib 中。

根据 Ray 文档中的下图,我似乎有两种不同的选择:

  1. 标准环境:根据Carla 模拟器示例,似乎我可以简单地使用类 API 来包装我的自定义模拟器并使用函数gym.Env注册为环境。ray.tune.registry.register_env
  2. 外部环境:但是,下图和 RLlib 文档让我更加困惑,因为它暗示应该通过ExternalEnv类使用可以在 RLlib 控制之外独立运行的外部模拟器。

如果有人可以建议我应该做什么,将不胜感激!谢谢! Ray RLlib 环境

4

2 回答 2

2

如果您的环境确实可以结构化以适合 Gym 风格(初始化、重置、步进函数),您可以使用第一个。

外部环境主要用于不适合这种风格的 RL 环境,例如基于 Web 浏览器(测试自动化等)的应用程序或任何持续财务应用程序等。

于 2020-12-18T12:20:50.343 回答
1

由于您写道您使用的是基于 Python 的自定义模拟器,因此我想说您可以使用 PolicyClient 和 PolicyServerInput API。在您的模拟器 (env) 端实现 PolicyClient 并向 PolicyClient 提供来自模拟器的数据(观察、奖励等)。这是我认为可以帮助你的。

于 2021-02-04T13:08:45.763 回答