Super Mario Neat

This program evolves an AI using the NEAT algorithm to play Super Mario Bros.
Alternatives To Super Mario Neat
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Tensorflow177,7923277713 hours ago46October 23, 20192,058apache-2.0C++
An Open Source Machine Learning Framework for Everyone
Pytorch71,0613,3416,72813 hours ago37May 08, 202312,782otherPython
Tensors and Dynamic neural networks in Python with strong GPU acceleration
Keras59,40857813 hours ago80June 27, 202390apache-2.0Python
Deep Learning for humans
Faceswap47,035
11 days ago23gpl-3.0Python
Deepfakes Software For All
Deepfacelab42,238
25 days ago536gpl-3.0Python
DeepFaceLab is the leading software for creating deepfakes.
Annotated_deep_learning_paper_implementations36,22315 days ago78September 24, 202227mitJupyter Notebook
🧑‍🏫 60 Implementations/tutorials of deep learning papers with side-by-side notes 📝; including transformers (original, xl, switch, feedback, vit, ...), optimizers (adam, adabelief, sophia, ...), gans(cyclegan, stylegan2, ...), 🎮 reinforcement learning (ppo, dqn), capsnet, distillation, ... 🧠
Spacy27,1831,5331,19818 hours ago222July 07, 202394mitPython
💫 Industrial-strength Natural Language Processing (NLP) in Python
Data Science Ipython Notebooks25,242
3 months ago34otherPython
Data science Python notebooks: Deep learning (TensorFlow, Theano, Caffe, Keras), scikit-learn, Kaggle, big data (Spark, Hadoop MapReduce, HDFS), matplotlib, pandas, NumPy, SciPy, Python essentials, AWS, and various command lines.
Handson Ml25,030
3 months ago139apache-2.0Jupyter Notebook
⛔️ DEPRECATED – See https://github.com/ageron/handson-ml3 instead.
Netron24,0464692 days ago587August 01, 202323mitJavaScript
Visualizer for neural network, deep learning, and machine learning models
Alternatives To Super Mario Neat
Select To Compare


Alternative Project Comparisons
Readme

Super Mario NEAT

This program uses the NEAT algorithm to evolve a Neural Network to play the original Super Mario Bros.

Requirements

You can install the requirements by running

sudo apt install fceux
python3 -m pip install -r requirements.txt

Or if on windows, run

python3 -m pip install -r requirements.txt
  • Make sure you have FCEUX downloaded and added to PATH

Training

The finisher.pkl file contains the best genome on generation 2284. In ./Files, you can find the backup for generation 2284, and the backup for generation 2492, which is where I stopped training.

You can continue training by running

python3 main.py cont_train --gen <num_generations> --file <file>

Running

To run the finisher.pkl file, run

python3 main.py run

or run

python3 run.py

If you want to run a different file, run

python3 main.py run --file <file_name>

Config

For debugging values, you can change any of the values in the config file. Note that you have to train from the 1st generation for some to take effect.
To use a different config file when training, specify --config <config file> when running main.py.

Multiprocessing

This program uses the build in python module multiprocessing, which is used for parallel computing. You can adjust the amount of genomes to run at once by specifying --parallel <num_of_genomes> when running main.py.

Levels

The default level is World 1, Level 1. This can be changed by specifying --level <level> when running main.py. For example,
python3 main.py train --gen 100 --level "1-1" will use 1-1.

Result

The finisher.pkl file is trained to complete 1-1. It can complete it around 50% of the time. The run.py file keeps running the simulation until it completes the level. Ctrl + C will stop it.


Additional Information

The Wiki contains more information regarding the specifics of implementing certain parts.

Popular Machine Learning Projects
Popular Neural Network Projects
Popular Machine Learning Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Python
Machine Learning
Neural Network
Generation
Genome
Gym
Genetic Algorithm
Multiprocessing
Neuroevolution