街机学习环境 (ALE) - 一个人工智能研究平台。
项目描述
街机学习环境
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_screen
和sound
支持;OFF
默认情况下)、-DBUILD_CPP_LIB=ON/OFF
构建ale-lib
C++ 目标(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-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 471a0a9e54a8b643f020c426d9530e1570bf4cfc62a753d9a6a06508e3348dbb |
|
MD5 | 97ec4ec85567fa8696ee17cc2c9ab8aa |
|
布莱克2-256 | b05ff0b72aca34b8be1e759489ea7f55051ca88858cd7bb66d23be3f10e167a5 |
ale_py -0.8.0-cp311-cp311-macosx_10_15_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 701067e1089fdc28a0a906437a433244a9f728d28d3ec469e9e98e026cecd382 |
|
MD5 | 8d7d75d155a2e1bee0aab47fd4fa3801 |
|
布莱克2-256 | 96fc2afa985809abf1bc2c0f715097354991ee6335a72b115bd9e0ac4d94d8b2 |