追求真空
追求真空 编程-学习-思考

Ale 机器学习环境搭建指南

Ale 机器学习环境搭建指南

机器学习环境就是为了验证和开放各种机器学习算法而开放的实验场景,而 ALE 就是其中之一,下面就简单介绍以下其在 Ubuntu 环境下的安装指南。

很早之前就对机器学习感兴趣,一直希望能成为其中的一员,可以开发出自己的机器学习项目。无奈,其中涉及的领域广度和深度都不知我现在的水平所能达到的,想要在这方面有所成就还需要一段时间的学习和实践。

不过,虽然不能自己开发,去体验其他大牛的研究成果也是一件很快乐的事情吧。正好这个假期的特殊情况,有的是时间。因此,就开始了…

用机器学习来玩游戏估计是最令人兴奋的吧,在网上探索了一段时间过后,才发现这个叫做 ALE 的 AI 环境。下面就简单介绍一下吧。

什么是 ALE

ALE 全称为 Arcade Learning Environment。是一个基于 Stella 游戏模拟器的机器学习框架,其主要作用是为 AI 研究人员提供了操作各种街机游戏的接口,使得他们可以很方便的获取游戏内的状态并把经历花的开发算法上。

安装 ALE

我是在 ubuntu 18.04 下安葬 ALE 的,至于为什么,一方面处于个人喜好;另一方面可以避免一些不必要的错误。安装步骤很简单:

  1. 下载代码:
    1
    
    git clone https://github.com/mgbellemare/Arcade-Learning-Environment
    
  2. 安装依赖
    1
    
    sudo apt-get install libsdl1.2-dev libsdl-gfx1.2-dev libsdl-image1.2-dev cmake
    
  3. 编译
    1
    2
    3
    
    mkdir build && cd build
    cmake -DUSE_SDL=ON -DUSE_RLGLUE=OFF -DBUILD_EXAMPLES=ON ..
    make -j 4
    
  4. 安装
    1
    
    pip install --user .
    

好了,安装到此结束,上面的过程是安装了 ALE 的 Python 接口。下面就是如何运行了。ALE 只是提供了一个框架和接口,其他的东西还是需要我们去准备的,比如游戏的ROM。虽然,我还不太明白ROM是什么,不过需要它就对了。ALE 目前支持的游戏为atari 2600 game,你可以去这个网站下载相应游戏的ROM,完成之后进入下一步。

在 doc/examples 目录下面有一些示例代码可以运行,不过提供的是 python 2 版本代码,所以需要修改其中相应的代码,主要是 print 函数需要加括号。这里使用 python_example_with_modes.py 来运行体验一下吧。

另外一个需要修改的地方是 ALE 的 python package name 修改了,但是在示例代码中还没有更正过来,因此需要修改

1
from ale_python_interface import ALEInterface

1
from ale_py import ALEInterface

把文件拷贝到 ALE 目录下面之后,运行如下:

1
python python_example_with_modes.py /path/to/romfile

我下载的是 breakout 游戏rom,运行之后结果如下:

恩,好了,基本安装过程就介绍到这里了。如果你有什么问题,欢迎留言讨论,后续在慢慢探索吧。