问题标签 [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 - RLlib 改变观察的形状,将 [None] 添加到形状元组
RLlib(0.7.3 版)提供了 Box(10, 3) 的观察形状,我想将其与 FCN 代理一起使用。但图书馆似乎为它增加了另一个维度。由于这个添加,RLlib 尝试为代理使用视觉网络。
我如何将它与 FCN 代理一起使用。
在文件 ray/rllib/policy/dynamic_tf_policy.py 的第 108 行。
reinforcement-learning - 如何设置 rllib 多代理 PPO?
我有一个非常简单的多代理环境设置用于 ray.rllib,我正在尝试运行 PPO 与随机策略训练场景的简单基线测试,如下所示:
测试时,我收到如下错误:
我尝试simple_optimizer:True
在配置中进行设置,但这给了我rllib 策略类NotImplementedError
的功能......set_weights
我"PPO"
在配置中切换了"PG"
它并且运行良好,所以它不太可能与我如何定义我的环境有关。有想法该怎么解决这个吗?
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,也会出现以下错误。
有谁知道这个问题以及如何解决它?
这是较长的日志:
reinforcement-learning - Ray RLllib:供外部使用的出口政策
我有一个基于 PPO 策略的模型,我使用 RLLib 在一些标准健身房环境中使用 Ray Tune API 进行训练(没有花哨的预处理)。我保存了模型检查点,我可以从中加载和恢复以进行进一步培训。
现在,我想将我的生产模型导出到理想情况下不依赖于 Ray 或 RLLib 的系统。有没有一种简单的方法可以做到这一点?
我知道类中有一个接口export_model
,rllib.policy.tf_policy
但似乎不是特别好用。例如,在调用export_model('savedir')
我的训练脚本后,并在另一个上下文中加载 viamodel = tf.saved_model.load('savedir')
后,生成的model
对象很难将正确的输入输入以进行评估(类似于model.signatures['serving_default'](gym_observation)
不起作用)。理想情况下,我正在寻找一种方法,可以轻松地对观察对象进行开箱即用的模型加载和评估
python - RLlib 训练一次迭代中的时间步数
我是强化学习的新手,我正在使用 RLlib 在 OpenAI 健身房中开发自定义环境的 RL。创建自定义环境时,是否需要在__init__()
方法中指定剧集数?另外,当我用
一次迭代中有多少时间步长?它是否等于自定义环境中定义的剧集数?谢谢你。
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
。
neural-network - 有没有办法在一个环境中训练 PPOTrainer,然后在稍微修改的环境中完成训练?
我试图首先在一个简单的环境中训练一个 PPOTrainer 进行 250 次迭代,然后在修改后的环境中完成训练。(环境之间的唯一区别是环境配置参数之一的变化)。
到目前为止,我已经尝试实现以下内容:
但是,第二次训练仍然使用初始环境配置。任何帮助弄清楚如何解决这个问题将不胜感激!
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 模型来实现它以修复此警告。有任何想法吗?
reinforcement-learning - 在多智能体环境中降低一个智能体的动作采样频率
我第一次使用 rllib,并尝试训练一个自定义的多代理 RL 环境,并希望在其上训练几个 PPO 代理。我需要弄清楚的实现问题是如何改变对一名特工的训练,以便这个特工每 X 个时间步才采取一次行动。最好只在每 X 个时间步调用 compute_action() 吗?或者,在其他步骤中,屏蔽策略选择,以便他们必须重新采样操作,直到调用 No-Op?或者将输入环境的动作 + 训练批次中的先前动作修改为 No-Ops?
仍然利用 rllib 的训练功能的最简单的实现方法是什么?我需要为此创建一个自定义训练循环,还是有办法配置 PPOTrainer 来做到这一点?
谢谢