跳转到主要内容

可定制的3D基准测试,用于评估强化学习中的泛化能力。

项目描述

MazeExplorer

MazeExplorer是一个可定制的3D基准测试,用于评估强化学习中的泛化能力。

简单来说,MazeExplorer使您能够轻松地为您的智能体创建单独的训练和测试环境。

它基于3D第一人称游戏Doom和开源环境VizDoom

此存储库包含MazeExplorer Gym环境的代码以及生成基线结果的脚本。

由Luke Harries*, Sebastian Lee*, Jaroslaw Rzepecki, Katja Hofmann, 和 Sam Devlin编写。
* 联合第一作者

Default textures Random Textures Random Textures

任务

目标是导航一个程序生成的迷宫并收集一定数量的钥匙。

环境可高度定制,允许您创建不同的训练和测试环境。

可以配置以下环境功能

  • 唯一或重复的地图
  • 地图数量
  • 地图大小(X,Y)
  • 迷宫复杂度
  • 迷宫密度
  • 随机/固定钥匙
  • 随机/固定纹理
  • 随机/固定出生点
  • 钥匙数量
  • 环境种子
  • 回合超时
  • 奖励裁剪
  • 帧栈
  • 分辨率
  • 动作帧重复
  • 动作空间
  • 特定纹理(墙面、天花板、地板)
  • 数据增强

示例用法

from mazeexplorer import MazeExplorer

train_env = MazeExplorer(number_maps=1,
              size=(15, 15),
              random_spawn=True,
              random_textures=False,
              keys=6)
              
test_env = MazeExplorer(number_maps=1,
              size=(15, 15),
              random_spawn=True,
              random_textures=False,
              keys=6)

# training
for _ in range(1000):
    obs, rewards, dones, info = train_env.step(train_env.action_space.sample())
    
    
# testing
for _ in range(1000):
    obs, rewards, dones, info = test_env.step(test_env.action_space.sample())

安装

  1. 安装VizDoom的依赖项: LinuxMacOSWindows
  2. pip3 install virtualenv pytest
  3. 创建一个虚拟环境并激活它
    1. virtualenv mazeexplorer-env
    2. source maze-env/bin/activate
  4. 克隆此仓库 git clone https://github.com/microsoft/MazeExplorer
  5. 进入仓库目录: cd MazeExplorer
  6. 使用 git submodule update --init --recursive 拉取子模块
  7. 安装依赖项: pip3 install -e .
  8. 运行测试: bash test.sh

基线实验

复制基线实验的信息显示在 baseline_experiments/experiments.md

贡献

此项目欢迎贡献和建议。大多数贡献需要你同意一份贡献者许可协议(CLA),声明你有权,并且实际上确实授予我们使用你的贡献的权利。有关详细信息,请访问 https://cla.microsoft.com

当你提交拉取请求时,CLA机器人将自动确定你是否需要提供CLA,并相应地装饰PR(例如,标签、注释)。只需遵循机器人提供的说明即可。你只需要在整个使用我们CLA的所有仓库中这样做一次。

此项目已采用 Microsoft 开源行为准则。有关更多信息,请参阅 行为准则FAQ 或通过 opencode@microsoft.com 联系我们以获取任何额外的问题或评论。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分发

mazeexplorer-1.0.5.tar.gz (86.5 KB 查看哈希

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面