Coding a Deep Neural Network to Steer a Car: Step By Step

Oliver Cameron:

You may have seen this incredible video from NVIDIA, one of our Nanodegreepartners, which highlights their efforts of teaching a car how to drive using only cameras and deep learning. The second challenge for the Udacity Self-Driving Car initiative is to replicate these results using a convolutional neural network that you design and build! End-to-end solutions like this, where a single network takes raw input (camera imagery) and produces a direct steering command, are considered the holy-grail of current autonomous vehicle technology.
 The top scoring network (measured by how close the steering angles generated were to a human) for Challenge #2 was built by the amazing Ilya Edrenkin, a Senior Researcher at Yandex. He generously wrote an iPython Notebook explaining how his neural network was constructed, and I thought it needed to be shared with the world. Enjoy!