Arcade Learning Environment (ALE) wrapped as a Reinforce.jl environment
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
deps
src
test
.gitignore
.travis.yml
LICENSE.md
README.md
REQUIRE
appveyor.yml

README.md

AtariAlgos

Author: Thomas Breloff

Build Status

AtariAlgos wraps the ArcadeLearningEnvironment as an implementation of an AbstractEnvironment from the Reinforce interface. This allows it to be used as a plug-and-play module with general reinforcement learning agents.

Setup:

Pkg.clone("https://github.com/JuliaML/AtariAlgos.jl")

(Optional) Download roms:

using AtariAlgos
AtariAlgos.download_roms()

Games can also be "plotted" using Plots.jl through a simple definition of a recipe for AtariEnv objects, allowing it to be a component of more complex visualizations for tracking learning progress and more, as well as making it easy to create animations.

Example

using AtariAlgos

# construct a game of Breakout
game = AtariEnv("breakout")

# set up for plotting
using Plots
gr(size=(200,300), leg=false)
rewards = Float64[]

# run the episode using the Episode iterator, creating an animated gif in the process
@gif for sars in Episode(game, RandomPolicy())
	push!(rewards, sars[3])
	plot(
		plot(game),
		sticks(rewards, yticks=nothing),
		layout=@layout [a;b{0.2h}]
	)
end every 10