The inspiration comes from how Nvidia built a self-driving car with just a single convolutional neural network instead of many fancy algorithms combined. Here my goal is to replicate the amazing results they've gotten but inside a game. But i also tried to create it as a platform/interface in which different architectures can be tested relatively easily, so it can also be used as a benchmark. So it's like a fun driving simulator (of course not an accurate one) that you can test your own neural networks at and maybe conduct some experiments.
note: this is a cherry picked example and many times model will not perform this well. Im hoping to change that in future versions.
Python 3.9
Pytorch 1.10
Numpy
OpenCV
Matplotlib
Need For Speed: Most Wanted 2005
Base architecture
![]()
There is different ways to use it depending on what you want. Additional info can be found inside the scripts.
Creating and processing data
Using models
TLDR: Basically any improvements are really appreciated.
- Other Neural Network architectures
- Refinements in the code
- Trained Models
- Anything you can get done on future updates part
- Add tensorflow board
- Only use np arrays instead of both lists and np arrays in data
- RGB images instead of gray images
- Train on more data
- Increase data resolution
- Controller or a steering wheel to get the input
- Different activation functions
- Try Weight Decay
- Add merging data function for easing data creation
- Save models whilst training
paper by nvidia: https://images.nvidia.com/content/tegra/automotive/images/2016/solutions/pdf/end-to-end-dl-using-px.pdf
Sentdex's PyGta5 playlist: https://www.youtube.com/watch?v=ks4MPfMq8aQ&list=PLQVvvaa0QuDeETZEOy4VdocT7TOjfSA8a
NFS:MW mods are taken from: https://github.com/ExOptsTeam/NFSMWExOpts