问题标签 [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.

0 投票
0 回答
105 浏览

python - RLlib 改变观察的形状,将 [None] 添加到形状元组

RLlib(0.7.3 版)提供了 Box(10, 3) 的观察形状,我想将其与 FCN 代理一起使用。但图书馆似乎为它增加了另一个维度。由于这个添加,RLlib 尝试为代理使用视觉网络。

我如何将它与 FCN 代理一起使用。

在文件 ray/rllib/policy/dynamic_tf_policy.py 的第 108 行。

0 投票
1 回答
1746 浏览

reinforcement-learning - 如何设置 rllib 多代理 PPO?

我有一个非常简单的多代理环境设置用于 ray.rllib,我正在尝试运行 PPO 与随机策略训练场景的简单基线测试,如下所示:

测试时,我收到如下错误:

我尝试simple_optimizer:True在配置中进行设置,但这给了我rllib 策略类NotImplementedError的功能......set_weights

"PPO"在配置中切换了"PG"它并且运行良好,所以它不太可能与我如何定义我的环境有关。有想法该怎么解决这个吗?

0 投票
1 回答
319 浏览

amazon-web-services - 带有光线的 AWS SageMaker RL:ray.tune.error.TuneError:未指定可训练

我有一个基于 AWS SageMaker RL 示例 rl_network_compression_ray_custom 的训练脚本,但更改了环境以制作基本的健身房环境 Asteroids-v0(在训练脚本的主入口点安装依赖项)。当我在 RLEstimator 上运行拟合时,ray.tune.error.TuneError: No trainable specified!即使在训练配置中将运行指定为 DQN,也会出现以下错误。

有谁知道这个问题以及如何解决它?

这是较长的日志:

0 投票
1 回答
507 浏览

reinforcement-learning - Ray RLllib:供外部使用的出口政策

我有一个基于 PPO 策略的模型,我使用 RLLib 在一些标准健身房环境中使用 Ray Tune API 进行训练(没有花哨的预处理)。我保存了模型检查点,我可以从中加载和恢复以进行进一步培训。

现在,我想将我的生产模型导出到理想情况下不依赖于 Ray 或 RLLib 的系统。有没有一种简单的方法可以做到这一点?

我知道类中有一个接口export_modelrllib.policy.tf_policy但似乎不是特别好用。例如,在调用export_model('savedir')我的训练脚本后,并在另一个上下文中加载 viamodel = tf.saved_model.load('savedir')后,生成的model对象很难将正确的输入输入以进行评估(类似于model.signatures['serving_default'](gym_observation)不起作用)。理想情况下,我正在寻找一种方法,可以轻松地对观察对象进行开箱即用的模型加载和评估

0 投票
2 回答
979 浏览

python - RLlib 训练一次迭代中的时间步数

我是强化学习的新手,我正在使用 RLlib 在 OpenAI 健身房中开发自定义环境的 RL。创建自定义环境时,是否需要在__init__()方法中指定剧集数?另外,当我用

一次迭代中有多少时间步长?它是否等于自定义环境中定义的剧集数?谢谢你。

0 投票
0 回答
215 浏览

python - Ray RLlib:为什么 DQN 训练中的学习吞吐量会下降?

随着 Dueling DDQN 代理的训练,学习吞吐量下降和学习时间增加是否正常?

经过几个小时的培训,学习时间增加了 7 倍,这是非常显着的,这是您期望看到的吗?我的系统只使用了 8 核 CPU 的 20% 和 64 GB 内存中的 25 GB。

目前正在 CPU 上训练一个 ray.rllib.agents.dqn 模型。配置都是默认的,除了

在此处输入图像描述

经过进一步的训练,学习吞吐量骤降到 20。CPU 使用率保持在 20% 左右,内存使用率保持在 50 GB。

在此处输入图像描述

在 WSL2 中使用 Ray 0.8.5、TensorFlow 2.2.0、Python 3.8.3、Ubuntu 18.04

0 投票
2 回答
3156 浏览

python - 更改 Ray RLlib Training 的 Logdir 而不是 ~/ray_results

我正在使用 Ray & RLlib 在 Ubuntu 系统上训练 RL 代理。Tensorboard 用于通过将其指向~/ray_results存储所有运行的所有日志文件的位置来监控训练进度。未使用 Ray Tune。

例如,在开始新的 Ray/RLlib 训练运行时,将在以下位置创建一个新目录

为了可视化训练进度,我们需要使用 Tensorboard 启动

问题:是否可以配置 Ray/RLlib 将日志文件的输出目录从~/ray_results另一个位置更改?

DQN_ray_custom_env_2020-06-07_05-26-32djwxfdu1另外,我们可以自己设置这个目录名称,而不是登录到名为类似的目录吗?


尝试失败:尝试设置

在运行之前ray.init(),但结果日志文件仍在被写入~/ray_results

0 投票
1 回答
233 浏览

neural-network - 有没有办法在一个环境中训练 PPOTrainer,然后在稍微修改的环境中完成训练?

我试图首先在一个简单的环境中训练一个 PPOTrainer 进行 250 次迭代,然后在修改后的环境中完成训练。(环境之间的唯一区别是环境配置参数之一的变化)。

到目前为止,我已经尝试实现以下内容:

但是,第二次训练仍然使用初始环境配置。任何帮助弄清楚如何解决这个问题将不胜感激!

0 投票
2 回答
1497 浏览

tensorflow - 为 RLLib 模型传递自定义模型参数的正确方法?

我有一个基本的自定义模型,它本质上只是默认 RLLib 全连接模型的复制粘贴(https://github.com/ray-project/ray/blob/master/rllib/models/tf/fcnet.py)我正在通过带有"custom_model_config": {}字典的配置文件传递自定义模型参数。此配置文件如下所示:

当我使用这个设置开始训练过程时,RLLib 给了我以下警告:

自定义 ModelV2 应该接受所有自定义选项作为 **kwargs,而不是在 config['custom_model_config'] 中期望它们!

我了解 **kwargs 的作用,但我不确定如何使用自定义 RLLib 模型来实现它以修复此警告。有任何想法吗?

0 投票
1 回答
87 浏览

reinforcement-learning - 在多智能体环境中降低一个智能体的动作采样频率

我第一次使用 rllib,并尝试训练一个自定义的多代理 RL 环境,并希望在其上训练几个 PPO 代理。我需要弄清楚的实现问题是如何改变对一名特工的训练,以便这个特工每 X 个时间步才采取一次行动。最好只在每 X 个时间步调用 compute_action() 吗?或者,在其他步骤中,屏蔽策略选择,以便他们必须重新采样操作,直到调用 No-Op?或者将输入环境的动作 + 训练批次中的先前动作修改为 No-Ops?

仍然利用 rllib 的训练功能的最简单的实现方法是什么?我需要为此创建一个自定义训练循环,还是有办法配置 PPOTrainer 来做到这一点?

谢谢