Skip to main content

街机学习环境 (ALE) - 一个人工智能研究平台。

项目描述

街机学习环境 街机学习环境

持续集成 PyPI 版本

Arcade Learning Environment (ALE) 是一个简单的框架,允许研究人员和爱好者为 Atari 2600 游戏开发 AI 代理。 它建立在 Atari 2600 仿真器Stella之上,并将仿真的细节与代理设计分开。该视频描述了 ALE 目前支持的 50 多种游戏。

有关 ALE 目标的概述,请阅读Arcade 学习环境:通用代理的评估平台。如果您在研究中使用 ALE,我们要求您在提及环境时引用本文。请参阅 BibTeX 条目的引用部分。

特征

  • 支持添加代理和游戏的面向对象框架。
  • 仿真核心与渲染和声音生成模块分离,以实现快速仿真,并最大限度地减少库依赖。
  • 自动提取超过 100 款 Atari 2600 游戏的游戏得分和游戏结束信号。
  • 多平台代码(在 macOS、Windows 和多个 Linux 发行版下编译和测试)。
  • 通过pybind11进行Python 绑定。
  • 对 OpenAI Gym 的原生支持。
  • 可视化工具。

快速开始

ALE 目前支持三种不同的接口:C++、Python 和 OpenAI Gym。

Python

你只需要安装ale-py通过 PyPI 分发的包:

pip install ale-py

注意:确保您使用的是最新版本,pip否则安装可能会失败。

您现在可以在 Python 项目中导入 ALE

from ale_py import ALEInterface

ale = ALEInterface()

ROM 管理

ALE 不分发 ROM,但我们确实提供了一些工具来管理您的 ROM。首先是命令行工具ale-import-roms。您可以简单地指定一个目录作为该工具的第一个参数,我们将通过 ALE 导入所有支持的 ROM。

ale-import-roms roms/

[SUPPORTED]       breakout   roms/breakout.bin
[SUPPORTED]       freeway    roms/freeway.bin

[NOT SUPPORTED]              roms/custom.bin

Imported 2/3 ROMs

ale-py.roms此外,Python 包可以使用特殊入口点公开 ROM 以供发现。有关更多详细信息,请查看示例python-rom-package

导入支持的 ROM 后,您可以简单地从ale-py.roms包中导入路径并将 ROM 加载到 ALE 中:

from ale_py.roms import Breakout

ale.loadROM(Breakout)

OpenAI 健身房

健身房支持包含在ale-py. 只需按照上面的说明安装 Python 包。您也可以安装gym[atari]它也可以ale-py与 Gym 一起安装。

从 Gym v0.20 及更高版本开始,所有 Atari 环境均通过ale-py. 我们建议v5在命名空间中使用新环境ALE

import gym

env = gym.make('ALE/Breakout-v5')

这些环境遵循Machado 等人v5在 Revisiting the Arcade Learning Environment 中提出的最新方法。.

与 Gym 的唯一主要变化不同AtariEnv是,我们建议不要使用该env.render()方法,而是render_mode在环境初始化期间提供关键字参数。渲染模式将为您提供以下human优势:帧完美渲染、音频支持和适当的分辨率缩放。有关更多信息,请查看docs/gym-interface.md

有关 OpenAI Gym 中 Atari 环境更改的更多信息,请查看以下博客文章

C++

以下说明将假定您具有有效的 C++17 编译器并vcpkg已安装。

我们将 CMake 用作一等公民,您可以将 ALE 直接用于任何 CMake 项目。要编译和安装 ALE,您可以运行

mkdir build && cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release
cmake --build . --target install

有可选的标志-DSDL_SUPPORT=ON/OFF来切换 SDL 支持(即display_screensound支持;OFF默认情况下)、-DBUILD_CPP_LIB=ON/OFF构建ale-libC++ 目标(ON默认情况下)和-DBUILD_PYTHON_LIB=ON/OFF构建 pybind11 包装器(ON默认情况下)。

最后,您可以在自己的 CMake 项目中链接 ALE,如下所示

find_package(ale REQUIRED)
target_link_libraries(YourTarget ale::ale-lib)

引用

如果您在研究中使用 ALE,我们要求您引用以下内容。

MG Bellemare、Y. Naddaf、J. Veness 和 M. Bowling。街机学习环境:通用代理的评估平台,人工智能研究杂志,第 47 卷,第 253-279 页,2013 年。

中文提供格式:

@Article{bellemare13arcade,
    author = {{Bellemare}, M.~G. and {Naddaf}, Y. and {Veness}, J. and {Bowling}, M.},
    title = {The Arcade Learning Environment: An Evaluation Platform for General Agents},
    journal = {Journal of Artificial Intelligence Research},
    year = "2013",
    month = "jun",
    volume = "47",
    pages = "253--279",
}

如果您使用带有粘性操作(标志repeat_action_probability)的 ALE,或者如果您使用不同的游戏风格(模式和难度切换),我们要求您还引用以下内容:

MC Machado、MG Bellemare、E. Talvtie、J. Veness、MJ Hausknecht、M. Bowling。Revisiting the Arcade Learning Environment: Evaluation Protocols and Open Problems for General Agents,人工智能研究杂志,第 61 卷,第 523-562 页,2018 年。

BibTex 格式:

@Article{machado18arcade,
    author = {Marlos C. Machado and Marc G. Bellemare and Erik Talvitie and Joel Veness and Matthew J. Hausknecht and Michael Bowling},
    title = {Revisiting the Arcade Learning Environment: Evaluation Protocols and Open Problems for General Agents},
    journal = {Journal of Artificial Intelligence Research},
    volume = {61},
    pages = {523--562},
    year = {2018}
}

项目详情


下载文件

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

内置发行版

ale_py-0.8.0-cp311-cp311-win_amd64.whl (950.7 kB 查看哈希)

已上传 cp311

ale_py-0.8.0-cp311-cp311-macosx_11_0_arm64.whl (1.0 MB 查看哈希

已上传 cp311

ale_py-0.8.0-cp311-cp311-macosx_10_15_x86_64.whl (1.1 MB 查看哈希

已上传 cp311

ale_py-0.8.0-cp310-cp310-win_amd64.whl (950.8 kB 查看哈希

已上传 cp310

ale_py-0.8.0-cp310-cp310-macosx_11_0_arm64.whl (1.0 MB 查看哈希

已上传 cp310

ale_py-0.8.0-cp310-cp310-macosx_10_15_x86_64.whl (1.1 MB 查看哈希

已上传 cp310

ale_py-0.8.0-cp39-cp39-win_amd64.whl (950.7 kB 查看哈希

已上传 cp39

ale_py-0.8.0-cp39-cp39-macosx_11_0_arm64.whl (1.0 MB 查看哈希

已上传 cp39

ale_py-0.8.0-cp39-cp39-macosx_10_15_x86_64.whl (1.1 MB 查看哈希

已上传 cp39

ale_py-0.8.0-cp38-cp38-win_amd64.whl (950.2 kB 查看哈希

已上传 cp38

ale_py-0.8.0-cp38-cp38-macosx_11_0_arm64.whl (1.0 MB 查看哈希

已上传 cp38

ale_py-0.8.0-cp38-cp38-macosx_10_15_x86_64.whl (1.1 MB 查看哈希

已上传 cp38

ale_py-0.8.0-cp37-cp37m-win_amd64.whl (951.0 kB 查看哈希

已上传 cp37

ale_py-0.8.0-cp37-cp37m-macosx_10_15_x86_64.whl (1.1 MB 查看哈希

已上传 cp37