reinforcement-learning 相关问题

强化学习是机器学习和计算机科学的一个领域,涉及如何在最大化特定环境中的数字奖励的状态中选择动作。

当动作是在Cartpole中向右移动时,它移到左侧。为什么那样?如何解决?

在我的实验中,我正在使用OpenAi的Cartpole-V1环境。我需要设置一个状态,然后在该状态下执行诉讼。当我执行特定的动作时,它的行为不会如预期的那样。对于

回答 1 投票 0

ML代理商在Unity中没有收敛于简单的弹丸到目标任务

代理在目标下发射弹丸。代理只有一个动作 - 射击的角度。发射力是恒定的。我也没有改变目标的位置。

回答 1 投票 0

如何将Jax.vmap与亚麻列车元组用作输入? 我正在建立一个深色的MARL框架,我需要评估我的演员政策。理想情况下,这将需要使用jax.vmap在演员亚麻列表的元组上。我尝试了以下内容: 导入JAX

import jax import jax.numpy as jnp import flax.linen as nn from flax.linen.initializers import constant, orthogonal from flax.training.train_state import TrainState import optax import distrax class PGActor_1(nn.Module): @nn.compact def __call__(self, x): action_dim = 4 activation = nn.tanh actor_mean = nn.Dense(128, kernel_init=orthogonal(jnp.sqrt(2)), bias_init=constant(0.0))(x) actor_mean = activation(actor_mean) actor_mean = nn.Dense(64, kernel_init=orthogonal(jnp.sqrt(2)), bias_init=constant(0.0)) (actor_mean) actor_mean = activation(actor_mean) actor_mean = nn.Dense(action_dim, kernel_init=orthogonal(0.01), bias_init=constant(0.0))(actor_mean) pi = distrax.Categorical(logits=actor_mean) return pi class PGActor_2(nn.Module): @nn.compact def __call__(self, x): action_dim = 2 activation = nn.tanh actor_mean = nn.Dense(64, kernel_init=orthogonal(jnp.sqrt(2)), bias_init=constant(0.0)) (actor_mean) actor_mean = activation(actor_mean) actor_mean = nn.Dense(action_dim, kernel_init=orthogonal(0.01), bias_init=constant(0.0))(actor_mean) pi = distrax.Categorical(logits=actor_mean) return pi state= jnp.zeros((1, 5)) network_1 = PGActor_1() network_1_init_rng = jax.random.PRNGKey(42) params_1 = network_1.init(network_1_init_rng, state) network_2 = PGActor_2() network_2_init_rng = jax.random.PRNGKey(42) params_2 = network_2.init(network_2_init_rng, state) tx = optax.chain( optax.clip_by_global_norm(1), optax.adam(lr=1e-3) ) actor_trainstates= ( TrainState.create(apply_fn=network_1.apply, tx=tx, params=params_1), TrainState.create(apply_fn=network_1.apply, tx=tx, params=params_2) ) pis = jax.vmap(lambda x: x.apply_fn(x.params, state))(actor_trainstates)

回答 1 投票 0


AttributeError:“NoneType”对象没有属性“glfwGetCurrentContext”

我正在尝试强化学习教程,其中我目前正在尝试使用体育馆、mujoco 来训练代理。我已经安装了 mujoco,当我尝试运行该程序时,SIM 窗口打开...

回答 2 投票 0

将多个模型指标运行记录到 MLFlow 中的同一图

我正在对模型参数进行网格搜索优化,并使用以下命令将损失记录到 MLFlow Mlflow.log_metric(f“{run_number}_Loss”,返回,迭代) 但对于每一次新的跑步,我都会得到不同的结果...

回答 1 投票 0

stable_baselines3:为什么比较 ep_info_buffer 与评估时奖励不匹配?

我正在使用 stable_baselines3 库,当我发现一些我没有想到的东西时。 这是重现该问题的简单代码: 将体育馆导入为健身房 从 stable_baselines3 导入 DQN 恩...

回答 1 投票 0

稳定的基线3不生成ppo、sac和td3的张量文件

我正在比较 a2c、dqn 和 ppo 模型。我需要张量板图来向我的老师展示。张量板仅收集 a2cmodel 的数据,当将其用于 ppo、sac 或 td3 时,它会创建 ev...

回答 1 投票 0

强化学习中连续动作空间的动作掩蔽

有没有办法对连续动作空间的动作掩蔽进行建模?我想用强化学习来模拟经济问题。这些问题通常具有连续的动作和状态空间。在

回答 2 投票 0

torchrl:将 SyncDataCollector 与自定义 pytorch dqn 结合使用

我正在尝试将torchrl的SyncDataCollector与我自己在torch中实现的DQN一起使用。由于 DQN 使用 Conv2d 和线性层,我必须计算第一个线性的输入的正确大小

回答 1 投票 0

观察空间中的值太多:框

我正在 OpenAI 中运行健身房教程,但一开始就陷入困境。运行“MountainCar-v0”环境后,我期望 Obs 空间有 2 个值,但我得到...

回答 2 投票 0

foreach_worker 和 foreach_env 的正确使用方法

我对强化学习很陌生,无法理解它。我无法使用 PPO 更新批量数据的配置。 我正在使用自定义的 GYM 环境,并且想要训练它

回答 1 投票 0

强化模型的动作空间是一维的,但在测试阶段模型输出动作是二维的

我用 rllib 训练了一个动作空间 self.action_space =gym.spaces.Box(-1, 1, (1,), data_type)" 的 PPO 模型 但是当我使用训练好的模型手动调用forward_inference时,推理

回答 1 投票 0

稳定基线3 PPO() - 如何在训练期间更改clip_range参数?

我想在 PPO 模型的整个训练过程中逐渐减小 Clip_range(epsilon、探索与利用参数)。 我尝试简单地运行“model.clip_range = new_value”...

回答 2 投票 0

无法安装 stable-baselines3

首先,房间里的大象:我确实看过 Can't install stable-baselines3[extra] 和 ProblemsInstalling stable-baselines3[extra] andgym[all]。 好的,那么 (Windows) 终端...

回答 1 投票 0

为什么在 Stable Baselines 3 中使用 GPU 比使用 cpu 慢?

当使用 PPO 使用 Stable Baselines 3 训练“CartPole”环境时,我发现使用 cuda GPU 训练模型的速度几乎是仅使用 cpu 训练模型的两倍(b...

回答 1 投票 0

如何在OpenAI Gym中禁用环境渲染?

我有以下代码,使用 OpenAI Gym 和 Highway-env 来使用强化学习模拟高速公路中的自主变道: 进口健身房 env =gym.make("MountainCar-v0",

回答 4 投票 0

Cartpole-v0 的 PyTorch PPO 实现陷入局部最优

我已经为 Cartpole-VO 环境实现了 PPO。然而,它在游戏的某些迭代中并不收敛。有时它会陷入局部最优。我已经使用...实现了该算法

回答 2 投票 0

PPO 强化学习算法的小批量大小选择

深度强化学习中的PPO算法需要设置minibatch的维度。 对于“标准”深度学习,有很多参考资料可以作为最佳指南

回答 1 投票 0

尝试计算离线 RL 的策略梯度时出现 Pytorch .backward() 错误

每当尝试使用内存缓冲区来训练我的策略时,我总是会遇到向后传递错误或就地自动分级错误。 这是导致问题的函数: def 强化(pi,

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.