avisingh599 / imitation-dagger

[Reimplementation Ross et al 2011] An implementation of DAGGER using ConvNets for driving from pixels.
MIT License
72 stars 20 forks source link

Imitation Learning with Dataset Aggregation (DAGGER)

This repository implements a simple algorithm for imitation learning: DAGGER

The implementation is tested on the problem of controlling the steering wheel of a vehicle (in simulation) from pixels alone. TORCS is used as the driving simulator, and Keras is used for training a Convolutional Neural Network on the steering angle prediction task.

Usage

python dagger.py

Requirements

  1. Python 3.0
  2. Keras with Tensorflow backend
  3. Numpy
  4. Gym-TORCS

Results

After Iteration 1, crashes after 78 steps

After Iteration 2, crashes after 151 steps

After Iteration 3, crashes after 395 steps

After Iteration 4, the car does not crash anymore: gif. Image cannot be displayed on the README since it exceeds the content length allowed by Github.

Note: The images fed to the ConvNet are 64x64, the images shown above have been resized to 256x256 for viewing purposes.