MPE环境安装-强化学习的小demo

本文介绍了如何安装和测试MPE(Multi-Agent Particle Environment),这是一个基于OpenAI Gym的多智能体强化学习平台。首先,从GitHub下载安装包并创建一个专门的文件夹进行管理。接着,通过conda创建虚拟环境,并确保Python和gym的版本正确。在命令行中,使用git克隆MPE仓库并使用pip安装。最后,通过PyCharm运行测试代码验证安装成功,并展示了如何在PyCharm中链接conda虚拟环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MPE的前世今生

MPE(Multi-Agent Particle Environment)是由 OpenAI 开源的一款多智能体强化学习实验平台,以 OpenAI 的 gym 为基础,使用 Python 编写而成。它创造了一个简单的多智能体粒子世界,粒子们可以进行连续的观察和离散的动作。

MPE安装

准备工作

环境配置

  • 可以利用anconda创建一个MPE的虚拟环境,(当然,也可以不用),这样方便管理Python以及一些安装包的版本,在这里,Python==3.6
  • gym==0.10.5

开始安装

  • 可以在命令行,cd到你创建的MPE文件夹下,直接通过命令行进行安装包的下载:git clone https://ghproxy.com/https://github.com/openai/multiagent-particle-envs.git有https://ghproxy.com镜像会下载的更快。
    当然也可以直接将安装包下载到你创建的文件夹下
  • cd multiagent-particle-envs/ 进入MPE的安装包,pip install -e .就可以进行安装啦!

测试

可以利用你熟悉的IDE进行测试。这里我用的是pycharm。
编写测试代码(当然,你可以选择任意一个你想测试的小demo)

import make_env

env=make_env.make_env('simple_push')
for _ in range(100):
    env.render()
env.close()

结果就是这样啦!
在这里插入图片描述

关于如何将你的虚拟环境和pycharm统一

在setting中,选择Project,Python interpreter,选择你之前创建的conda虚拟环境,像下图这样就好啦!
在这里插入图片描述

### 配置多智能体强化学习环境 #### 所需依赖项安装 为了建立一个多智能体的强化学习环境,首先需要确保环境中已正确安装必要的软件包。对于Python项目而言,通常会使用`pip`来管理这些依赖关系。 ```bash pip install gym==0.21.0 pettingzoo ray[rllib]==1.9.0 numpy matplotlib seaborn ``` 上述命令将会安装Gym作为基础环境库[^1]、PettingZoo用于创建多代理交互场景以及Ray及其扩展组件RLLib来进行高效的分布式训练和支持更复杂的算法需求[^4]。 #### 使用PettingZoo构建多智能体环境 PettingZoo提供了简单易用的方式去定义和操作多个agent之间的互动游戏或模拟情境。下面是一段简单的例子展示怎样利用PettingZoo中的`mpe_simple_spread_v2`环境: ```python import pettingzoo.mpe as mpe_envs from pettingzoo.utils import random_demo env = mpe_envs.simple_spread_v2.env(max_cycles=25, continuous_actions=False) random_demo(env, render_mode="human", num_episodes=3) ``` 这段代码初始化了一个具有三个移动实体尝试分散开来的简易环境,并运行三次随机策略下的回合以供观察。 #### 利用Ray RLLib进行多智能体训练配置 当涉及到实际训练时,则可以借助于Ray所提供的强大工具集特别是其中专为大规模并行化设计的部分——RLLib。这里给出一段关于如何配置一个基本的多智能体训练循环的例子: ```python import ray from ray import tune from ray.rllib.algorithms.ppo import PPOConfig from ray.tune.logger import pretty_print ray.init() config = ( PPOConfig() .environment("simple_spread_v2") .rollouts(num_rollout_workers=4) .training(model={"fcnet_hiddens": [64, 64]}, lr=7e-4) ) algo = config.build() for i in range(10): result = algo.train() print(pretty_print(result)) ray.shutdown() ``` 此脚本启动了四个工作节点执行数据收集任务的同时,在中心位置更新参数;采用PPO(Proximal Policy Optimization)方法调整网络权重直至达到预设迭代次数为止。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值