pgebert / autonomous_car_simulation

Pytorch model (CNN) to drive a simulated car autonomously in the Udacity Self-Driving Car Simulation.
MIT License
11 stars 8 forks source link
cnn machine-learning python pytorch regression self-driving-car udacity-self-driving-car

Autonomous Car Simulation (in progress)

[project in progress]()

The goal of this project is to train a model driving a car autonomously on the tracks of the Udacity Self-Driving Car Simulator. There is an unfinished approach in tensorflow, but no implementation in pytorch - so I started with my own implementation. :relaxed:

If you are interested in the project or if you want to contribute some ideas or code - feel free to join.

Udacity Self-Driving Car Simulator

The Udacity Self-Driving Car Simulator allows to record simualted front and side cameras of the car together with the control data like steering angle, speed, throttle, etc during the training mode. In thesutonomous mode it enables the computer to control the car via event based communication.

Udacity Seld-Driving Car Simulator

The model

Implemented in PyTorch using Python.

Network architecture

Development

Run model.py to run the training. The best performing model on the testset is saved automatically.

To use the autonomous driving mode of the simulator, run drive.py after the simulator was started and set in autonomous mode.

CPU Usage

Set the cfg.cuda flag in model.py to False.

GPU Acceleration

Switching from the CPU to the GPU is quite easy and will result in a massive speed-up. Just set the cfg.cuda flag in model.py to True. Make sure you installed the CUDA Framework from Nvidia. If CUDA runs out of memory, reduce the batch size until it fits into your video memory.