问题标签 [rllib]
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 - 错误:`callbacks` 必须是返回 DefaultCallbacks 子类的可调用方法,得到
当我运行一些代码(DDPG - Deep Deterministic Policy Gradient)时,发生了这个错误: ValueError: callbacks
must be a callable method that return a subclass of DefaultCallbacks, got <class 'ray.rllib.agents.callbacks.DefaultCallbacks'>
我的代码在这里:
log_dir 是经过训练的 DDPG 参数的位置。
我想使用经过训练的参数,所以使用“config = json.load(read_file)”代码。
然后,当我制作 DDPGTrainer 时,使用这个“配置”,但发生了一些错误。
我该如何解决这个错误?
python - 尝试对 FrozenLake Openai 游戏使用 DQN 算法时出错
我正在尝试使一个非常简单的 DQN 算法与 FrozenLake-v0 游戏一起使用,但我遇到了错误。我知道使用 DQN 而不是 Q-table 可能有点过头了,但我仍然希望它能够工作。这是代码:
我得到的错误是:
当我尝试更改为时qvals_s = model.predict(s.reshape(16))
,qvals_s = model.predict(s.reshape(1))
我得到了错误:
我会很感激任何帮助!
ray - 创建自定义 MA 环境
我正在寻找一些指导来构建多代理虚拟示例。我一直在尝试阅读Rllib 文档,但我想我还没有理解如何创建自己的多代理环境的方法。
我想让几个代理从不同的随机初始位置 x 开始。控制每个代理的动力学应该由一个微分方程控制,例如:
导数(x) = x + agent_action + 噪声
目标是让智能体学习最终将导致所有智能体的 x 值收敛到一个值的动作。
我可以使用multi_agent_env.py中提供的代码存根来实现我自己的 MA 环境吗?
例如,我创建了自己的文件 MADummyEnv.py
然后在 MADummyEnv 类中实现init 、step、reset 方法。这个对吗?
如果我有正确的想法或理想地提供一些自定义多代理环境的实现以供参考,也许有人可以为我指明大方向。
tensorflow - rllib - 从检查点获取 TensorFlow 或 PyTorch 模型输出
我想在不同的代码中使用 rllib 训练的策略模型,我需要跟踪为特定输入状态生成的操作。使用标准 TensorFlow 或 PyTorch(首选)网络模型可以提供这种灵活性,但我找不到关于如何从经过训练的 rllib 代理生成可用 dat 或 H5 文件的明确文档,然后我可以将其加载到 Torch 或 tf/Keras模型。
python - 运行“python示例/train.py singleagent_ring”时出现语法错误
当我运行时,python examples/train.py singleagent_ring
我发现以下错误:
请问有什么帮助吗?
ray - 如何从 on_sample_end 回调中获取剧集信息字典?
我需要从on_sample_end
回调中获取情节信息字典,以便每次推出完成时我都可以显示一些自定义指标。我怎样才能做到这一点?射线版本:0.7.3
先感谢您!
python - 在 ray.tune 中保存剧集奖励
我正在使用 rllib/ray 在多代理环境中使用 PPO 算法训练几个代理。我正在使用ray.tune()
命令来训练代理,然后从~/ray_results
. 该数据包含代理在每个训练集中选择的动作,但我还需要相应的代理奖励。我查看了文档,但似乎没有允许保存剧集奖励的配置参数。有没有人有解决方法?
offline - 改进/重新训练离线模型的正确方法
我有一个使用行为克隆 (BC) 训练的推荐系统,其中离线数据使用监督学习模型生成,使用此处描述的方法转换为批处理格式。目前,该模型正在探索使用电子贪婪策略。我想从 BC 迁移到 MARWIL 更改测试版。
有几种方法可以做到这一点:
- 转换用于训练 BC 算法的数据以及代理的新数据,并使用 MARWIL 从头开始重新训练。
- 转换代理生成的新数据,并将其与先前用于训练 BC 算法的转换数据放在一起,使用输入参数,执行类似于此处描述的操作,然后使用 MARWIL 从头开始重新训练。
- 转换代理生成的新数据,并将其与之前用于训练 BC 算法的转换数据放在一起,使用输入参数,执行类似于此处描述的操作,并使用恢复的 BC 代理使用 MARWIL 重新训练。问题:
以下选项1:
鉴于新的数据切片与前一个相比非常小,模型会学到新的东西吗?当我们停止使用原始数据?
以下选项2:
鉴于新的数据切片与前一个相比非常小,模型会学到新的东西吗?当我们停止使用原始数据?这种方法适用于与新剧集 id 相关的轨迹,但它会扩展原始批次中已经存在的剧集的轨迹吗?
遵循选项 3:
鉴于新的数据切片与前一个相比非常小,模型会学到新的东西吗?当我们停止使用原始数据?这种方法适用于与新剧集 id 相关的轨迹,但它会扩展原始批次中已经存在的剧集的轨迹吗?重新训练将使用新数据点更新网络的权重,但要做到这一点,我们应该使用多少次迭代?如何防止灾难性遗忘?
machine-learning - 将 Ray RLlib 与自定义模拟器一起使用
我对 Ray RLlib 非常陌生,并且在使用我的团队制作的自定义模拟器时遇到了问题。我们正在尝试将基于 Python 的自定义模拟器集成到 Ray RLlib 中,以进行单代理 DQN 训练。但是,我不确定如何将模拟器作为环境集成到 RLlib 中。
根据 Ray 文档中的下图,我似乎有两种不同的选择:
- 标准环境:根据Carla 模拟器示例,似乎我可以简单地使用类 API 来包装我的自定义模拟器并使用函数
gym.Env
注册为环境。ray.tune.registry.register_env
- 外部环境:但是,下图和 RLlib 文档让我更加困惑,因为它暗示应该通过
ExternalEnv
类使用可以在 RLlib 控制之外独立运行的外部模拟器。
reinforcement-learning - Rllib 的 PPO 政策网络
我想在 Rllib 中设置“actor_hiddens”,即 PPO 策略网络的隐藏层,并能够设置它们的权重。这可能吗?如果是,请告诉我怎么做?我知道如何在 Rllib 中为 DDPG 执行此操作,但 PPO 的问题是我找不到策略网络。谢谢。