跳转到主要内容

Arcade Learning Environment (ALE) - 一个人工智能研究平台。

项目描述

The Arcade Learning Environment Arcade Learning Environment

Python PyPI Version

Arcade Learning Environment (ALE) 是一个简单的框架,允许研究人员和爱好者为Atari 2600游戏开发人工智能代理。 它建立在Atari 2600模拟器 Stella 的基础上,将模拟的细节与代理设计分开。此 视频 展示了ALE当前支持超过50款游戏。

要了解我们对ALE(Arcade Learning Environment)的目标概述,请阅读《Arcade Learning Environment:通用智能体的评估平台》。如果您在研究中使用了ALE,我们希望您引用这篇论文以提及该环境。有关BibTeX条目的信息,请参阅引用部分。

特性

  • 面向对象框架,支持添加智能体和游戏。
  • 仿真核心与渲染和声音生成模块解耦,以实现快速仿真并最小化库依赖。
  • 自动提取超过100款Atari 2600游戏的得分和游戏结束信号。
  • 支持多平台代码(在macOS、Windows和多个Linux发行版下编译和测试)。
  • 通过pybind11提供Python绑定。
  • 原生支持Gymnasium,这是OpenAI Gym的维护分支。
  • 可视化工具。
  • Atari roms包含在pip包中

快速入门

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

Python

您只需安装通过PyPI分发的ale-py

pip install ale-py

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

现在您可以在Python项目中导入ALE,并直接与Stella交互以玩游戏

from ale_py import ALEInterface, roms

ale = ALEInterface()
ale.loadROM(roms.get_rom_path("Breakout"))
ale.reset_game()

reward = ale.act(0)  # noop
screen_obs = ale.getScreenRGB()

Gymnasium

为了简化安装ale-py与Gymnasium的过程,使用pip install "gymnasium[atari]"将安装所有必要的模块和ROM。有关与环境接口的API描述,请参阅Gymnasium的入门页面

import gymnasium as gym
import ale_py

gym.register_envs(ale_py)  # unnecessary but helpful for IDEs

env = gym.make('ALE/Breakout-v5', render_mode="human")  # remove render_mode in training
obs, info = env.reset()
episode_over = False
while not episode_over:
    action = policy(obs)  # to implement - use `env.action_space.sample()` for a random policy
    obs, reward, terminated, truncated, info = env.step(action)

    episode_over = terminated or truncated
env.close()

有关所有可用环境和它们的描述,请参阅gymnasium 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-lib C++目标(默认为ON),以及-DBUILD_PYTHON_LIB=ON/OFF来构建pybind11包装器(默认为ON)。

最后,您可以在自己的CMake项目中按照以下方式链接到ALE

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

引用

如果您在研究中使用了ALE,我们希望您引用以下内容。

M. G. Bellemare, Y. Naddaf, J. Veness和M. Bowling. 《Arcade Learning Environment:通用智能体的评估平台》,人工智能研究杂志,第47卷,第253-279页,2013年。

BibTeX格式

@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,或者如果您使用不同的游戏风味(模式和难度开关),我们要求您也引用以下内容

M. C. Machado, M. G. Bellemare, E. Talvitie, J. Veness, M. J. Hausknecht, M. Bowling. 《重新审视Arcade Learning Environment:通用智能体的评估协议和开放问题》,人工智能研究杂志,第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.10.1.tar.gz (483.2 kB 查看哈希值)

上传时间

构建分布

ale_py-0.10.1-cp313-cp313-win_amd64.whl (1.4 MB 查看哈希值)

上传时间 CPython 3.13 Windows x86-64

ale_py-0.10.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB 查看哈希值)

上传时间 CPython 3.13 manylinux: glibc 2.17+ x86-64

ale_py-0.10.1-cp313-cp313-macosx_11_0_arm64.whl (1.5 MB 查看哈希值)

上传时间 CPython 3.13 macOS 11.0+ ARM64

ale_py-0.10.1-cp313-cp313-macosx_10_15_x86_64.whl (1.6 MB 查看哈希值)

上传时间 CPython 3.13 macOS 10.15+ x86-64

ale_py-0.10.1-cp312-cp312-win_amd64.whl (1.4 MB 查看哈希值)

上传时间 CPython 3.12 Windows x86-64

ale_py-0.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB 查看哈希值)

上传时间 CPython 3.12 manylinux: glibc 2.17+ x86-64

ale_py-0.10.1-cp312-cp312-macosx_11_0_arm64.whl (1.5 MB 查看哈希值)

上传时间 CPython 3.12 macOS 11.0+ ARM64

ale_py-0.10.1-cp312-cp312-macosx_10_15_x86_64.whl (1.6 MB 查看哈希值)

上传时间 CPython 3.12 macOS 10.15+ x86-64

ale_py-0.10.1-cp311-cp311-win_amd64.whl (1.4 MB 查看哈希值)

上传时间 CPython 3.11 Windows x86-64

ale_py-0.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB 查看哈希值)

上传时间: CPython 3.11 manylinux: glibc 2.17+ x86-64

ale_py-0.10.1-cp311-cp311-macosx_11_0_arm64.whl (1.5 MB 查看哈希值)

上传时间: CPython 3.11 macOS 11.0+ ARM64

ale_py-0.10.1-cp311-cp311-macosx_10_15_x86_64.whl (1.6 MB 查看哈希值)

上传时间: CPython 3.11 macOS 10.15+ x86-64

ale_py-0.10.1-cp310-cp310-win_amd64.whl (1.4 MB 查看哈希值)

上传时间: CPython 3.10 Windows x86-64

ale_py-0.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB 查看哈希值)

上传时间: CPython 3.10 manylinux: glibc 2.17+ x86-64

ale_py-0.10.1-cp310-cp310-macosx_11_0_arm64.whl (1.5 MB 查看哈希值)

上传时间: CPython 3.10 macOS 11.0+ ARM64

ale_py-0.10.1-cp310-cp310-macosx_10_15_x86_64.whl (1.6 MB 查看哈希值)

上传时间: CPython 3.10 macOS 10.15+ x86-64

ale_py-0.10.1-cp39-cp39-win_amd64.whl (1.4 MB 查看哈希值)

上传时间: CPython 3.9 Windows x86-64

ale_py-0.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB 查看哈希值)

上传时间: CPython 3.9 manylinux: glibc 2.17+ x86-64

ale_py-0.10.1-cp39-cp39-macosx_11_0_arm64.whl (1.5 MB 查看哈希值)

上传时间: CPython 3.9 macOS 11.0+ ARM64

ale_py-0.10.1-cp39-cp39-macosx_10_15_x86_64.whl (1.6 MB 查看哈希值)

上传于 CPython 3.9 macOS 10.15+ x86-64

ale_py-0.10.1-cp38-cp38-win_amd64.whl (1.4 MB 查看哈希值)

上传于 CPython 3.8 Windows x86-64

ale_py-0.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86-64

ale_py-0.10.1-cp38-cp38-macosx_11_0_arm64.whl (1.5 MB 查看哈希值)

上传于 CPython 3.8 macOS 11.0+ ARM64

ale_py-0.10.1-cp38-cp38-macosx_10_15_x86_64.whl (1.6 MB 查看哈希值)

上传于 CPython 3.8 macOS 10.15+ x86-64

支持者