Arcade Learning Environment (ALE)

ALE is a well-known environment that simulates a series of more than 63 Atari games [Original Github]. The framework can work without ALE. However, to run successfully the sample codes, we need to install ALE as we use it to demonstrate Fruit API.

However, ALE was initially developed in Linux. It is not straightforward to install ALE on Windows and Mac OS. Therefore, we have created a patch to make sure ALE to work properly in different operating systems. The patch applied the following changes:

  • It is not straightforward to install ALE on Windows and Mac OS. Moreover, the Visual Studio port of IslandMan93 uses outdated code ALE version 0.0.1. Therefore, we created this multi-platform patch for the latest ALE 0.6.0.
  • This patch supports the latest Mac OS Sierra and Windows 10 (with ALE 0.6.0).
  • Users can set configuration file for each environment using the function ale.setString(b'config', b'path_to_config_file').
  • Merge IslandMan93's Visual Studio 2013 port of the ALE 0.0.1 to ALE 0.6.0.
  • This patch is indexed as version 0.6.1.

Installation Guide

  1. Mac OS
    • The following steps are tested successfully on Mac OS 10.12 with Python 3.6.3
    • Install Brew
    • /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
                                                              
    • Install dependencies
    • brew install sdl sdl_image sdl_mixer sdl_ttf smpeg portmidi cmake
                                                              
    • Install ALE from our repository
    • git clone https://github.com/garlicdevs/Arcade-Learning-Environment.git
      cd Arcade-Learning-Environment
      mkdir build && cd build  
      cmake -DUSE_SDL=ON -DUSE_RLGLUE=OFF -DBUILD_EXAMPLES=ON -DMAC_OS=ON ..
      make -j 4
      cd ..
      env MACOSX_DEPLOYMENT_TARGET=10.9 pip3.6 install . 
                                                              

  2. Linux
    • Install dependencies
    • sudo apt-get install libsdl1.2-dev libsdl-gfx1.2-dev libsdl-image1.2-dev cmake
                                                              
    • Install ALE
    • git clone https://github.com/garlicdevs/Arcade-Learning-Environment.git
      cd Arcade-Learning-Environment
      mkdir build && cd build  
      cmake -DUSE_SDL=ON -DUSE_RLGLUE=OFF -DBUILD_EXAMPLES=ON ..
      make -j 4
      cd ..
      pip3.6 install .
                                                              

  3. Windows
    • We tested the following steps successfully on Windows 10 (with Visual Studio 2017 and Python 3.6.2)
    • Clone our patch
    • git clone https://github.com/garlicdevs/Arcade-Learning-Environment.git
                                                              
    • Open Visual Studio 2017 -> Open solution ALE.sln in folder visual_studio -> Set configuration (Release|x64) -> build ALE -> build ale_python_interface. If the projects are built successfully, the library ale_python_interface.dll will appear in folder visual_studio\x64\Release\
    • Install ALE
    • cd Arcade-Learning-Environment
      python winsetup.py install
                                                              

Tensorflow

Tensorflow is a well-known deep learning library from Google. We developed the baselines in Fruit API by using Tensorflow. The framework is tested successfully with Tensorflow v1.3.0 - v1.12.0. It is straightforward to install Tensorflow without a GPU. However, with a GPU, it requires extra steps to install it successfully. It requires CUDA and cuDNN. Please note that a specific version of Tensorflow must match with a specific CUDA version. For example, Tensorflow 1.12.0 only works with CUDA 9. We recommend to refer the following link to install Tensorflow with GPU correctly.

Fruit API

  • Download our library here and unzip it.
  • We recommend to use PyCharm to work with Fruit API. Download PyCharm Professional if you are a student otherwise using community version.
  • Use PyCharm to open the library as described in the following image.
  • figure 1

  • Install dependencies which are listed in requirements.txt. Please use the exact version described in the file.
  • In case of normal usage without modifying the framework, please run the following command to install Fruit API.
  • python setup.py install
                                                            
  • We only tested the framework with Python 3.6.2 and 3.6.3. Other versions are not checked. We recommend to use the same version.