【问题标题】:Reinforcement Learning - Custom environment implementation in Java for Python RL framework强化学习 - 用于 Python RL 框架的 Java 自定义环境实现
【发布时间】:2021-11-01 05:58:14
【问题描述】:

我有一堆构成环境和代理的 Java 代码。我想使用其中一个 Python 强化学习库(stable-baselines、tf-agents、rllib 等)来训练 Java 代理/环境的策略。然后在 Java 端部署策略进行生产。是否有将其他语言合并到 Python RL 库中的标准做法?我正在考虑以下解决方案之一:

  1. 将 Java env/agent 代码封装到 REST API 中,并在 Python 中实现自定义环境,调用该 API 以逐步完成环境。
  2. 使用 Py4j 从 Python 调用 Java 并实现自定义环境。

哪个更好?还有其他方法吗?

编辑:我最终选择了前者——部署了一个封装环境的 Web 服务器。对我来说效果很好。如果有更好的做法来处理这种情况,请留下问题!

【问题讨论】:

    标签: java python reinforcement-learning openai-gym stable-baselines


    【解决方案1】:

    第一种方法很好。 RLLib 以同样的方式为 PolicyServerInput 实现它。用于外部环境。 https://github.com/ray-project/ray/blob/82465f9342cf05d86880e7542ffa37676c2b7c4f/rllib/env/policy_server_input.py

    所以看看他们的实现。它使用 Python 数据序列化,所以我想自己的 impl 最好连接到 Java。

    【讨论】:

      猜你喜欢
      • 2021-09-14
      • 2021-05-06
      • 1970-01-01
      • 2018-11-06
      • 1970-01-01
      • 2020-04-21
      • 2019-10-20
      • 2010-10-18
      • 2014-12-23
      相关资源
      最近更新 更多