josephmisiti/awesome-machine-learning
Awesome Machine Learning
This project is a comprehensive, community-driven directory of machine learning resources, software libraries, and educational materials. It serves as a centralized knowledge base for developers and researchers, organizing tools and frameworks by their primary programming language and technical domain to simplify discovery across the artificial intelligence ecosystem.
The collection distinguishes itself by providing a cross-language development index that spans diverse programming environments, including C, C++, Rust, Clojure, and Python. It covers a wide range of specialized capabilities, from neural network implementation and deep learning frameworks to computer vision, natural language processing, and reinforcement learning. The repository also highlights hardware-accelerated compute kernels and neurosymbolic architectures, offering a broad view of both established and emerging machine learning technologies.
Beyond software libraries, the directory includes a curated roadmap of foundational learning materials, such as textbooks and documentation on linear algebra, probability, statistics, and distributed machine learning patterns. This structured approach provides a technical reference for those seeking to understand both the theoretical underpinnings and the practical implementation of modern computational intelligence.
Features
- Machine Learning Resource Collections - Finding curated libraries, frameworks, and educational materials for implementing artificial intelligence across various programming languages and domains.
- Neural Network Frameworks - Identifying frameworks and architectures for building, training, and deploying deep learning models for predictive and generative tasks.
- Neurosymbolic AI - [](#cuda-ptx) #### Neurosymbolic AI [](#neurosymbolic-ai) - Knowledge3D (K3D) - Sovereign GPU-native spatial AI architecture with PTX-first cognitive engine (RPN/TRM reasoning), tri-modal fusion (text/visual/audio), and
- Computer Vision Libraries - [](#opencv) ### OpenSource-Computer-Vision [](#opensource-computer-vision) - OpenCV - A OpenSource Computer Vision Library
- Data Manipulation Libraries - [](#data-manipulation--data-analysis--data-visualization) - data.table - `data.table` provides a high-performance version of base R’s `data.frame` with syntax and feature enhancements for ease of use, convenience and pro
- Deep Learning - [](#deep-learning) - MXNet - Bindings to Apache MXNet - part of the MXNet project - Deep Diamond - A fast Clojure Tensor & Deep Learning library - jutsu.ai - Clojure wrapper for deeplearning4j with some added syntactic s
- Machine Learning Frameworks - [](#rust) #### General-Purpose Machine Learning [](#general-purpose-machine-learning-24) - smartcore - "The Most Advanced Machine Learning Library In Rust." - linfa - a comprehensive toolkit to build Machine Learning app
- Awesome Lists - A comprehensive directory of software libraries, frameworks, and educational materials organized by programming language and technical domain.
- Go Resources - [](#go) #### Natural Language Processing [](#natural-language-processing-3) - Cybertron - Cybertron: the home planet of the Transformers in Go. - snowball - Snowball Stemmer for Go. - word-embedding - Word Embeddings: th
- Python Resources - [](#python) #### Computer Vision [](#computer-vision-5) - LightlyTrain - Pretrain computer vision models on unlabeled data for industrial applications - Scikit-Image - A collection of algorithms for image processing in P
- Computer Vision Frameworks - [](#opensource-computer-vision) - OpenCV - A OpenSource Computer Vision Library
- Data Analysis - [](#data-analysis) - tech.ml.dataset - Clojure dataframe library and pipeline for data processing and machine learning - Tablecloth - A dataframe grammar wrapping tech.ml.dataset, inspired by several R libraries - Panthe
- Interactive Learning Tools - [](#educational-tools) - NN Visual - Interactive visualizations explaining neural networks, backpropagation, attention mechanisms, and transformers.
- Machine Learning Knowledge Bases - A centralized repository of research papers, textbooks, and technical documentation covering fundamental concepts in artificial intelligence and data science.
- Machine Learning Frameworks - [](#tensorflow) #### General-Purpose Machine Learning [](#general-purpose-machine-learning-29) - Awesome Keras - A curated list of awesome Keras projects, libraries and resources. - Awesome TensorFlow - A list of all thi
- Neural Network Frameworks - [](#c) #### General-Purpose Machine Learning [](#general-purpose-machine-learning-1) - Darknet - Darknet is an open source neural network framework written in C and CUDA. It is fast, easy to install, and supports CPU and
- General-Purpose Machine Learning - [](#common-lisp) #### General-Purpose Machine Learning [](#general-purpose-machine-learning-3) - mgl - Neural networks (boltzmann machines, feed-forward and recurrent nets), Gaussian Processes. - mgl-gpr - Evolutionary a
- Natural Language Processing Toolkits - [](#ruby) #### Natural Language Processing [](#natural-language-processing-11) - Awesome NLP with Ruby - Curated link list for practical natural language processing in Ruby. - Treat - Text Retrieval and Annotation Toolki
- Spiking Neural Networks - [](#spiking-neural-networks) - Rockpool - A machine learning library for spiking neural networks. Supports training with both torch and jax pipelines, and deployment to neuromorphic hardware. - Sinabs - A deep learning l
- Curated Resource Indices - Maintains a centralized, community-driven index of software libraries and educational materials to simplify discovery for developers.
- Computer Vision Libraries - [](#computer-vision) - CCV - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. - VLFeat - VLFeat is an open and portable library of computer vision algorithms, which has a Matlab toolbox. - Y
- Data Visualization - [](#data-visualization) - Hanami - Clojure(Script) library and framework for creating interactive visualization applications based in Vega-Lite (VGL) and/or Vega (VG) specifications. Automatic framing and layouts along w
- Natural Language Processing - [](#clojure) #### Natural Language Processing [](#natural-language-processing-1) - Clojure-openNLP - Natural Language Processing in Clojure (opennlp). - Infections-clj - Rails-like inflection library for Clojure and Cloj
- Speech Recognition - [](#speech-recognition) - Kaldi - Kaldi is a toolkit for speech recognition written in C++ and licensed under the Apache License v2.0. Kaldi is intended for use by speech recognition researchers. - Vosk - An offline spee
- Natural Language Parsers - [](#natural-language-processing) - BLLIP Parser - BLLIP Natural Language Parser (also known as the Charniak-Johnson parser). - colibri-core - C++ library, command line tools, and Python binding for extracting and working
- Hardware Compute Kernels - Offloads intensive mathematical operations to specialized GPU or TPU hardware using low-level primitives like CUDA or OpenCL.
- Computer Vision Development Tools - Accessing specialized tools and libraries for image processing, object detection, and visual data analysis in diverse software environments.
- Data Analysis Frameworks - [](#perl-6) - Support Vector Machines - Naïve Bayes ### Data Analysis / Data Visualization [](#data-analysis--data-visualization-8) - Perl Data Language, a pluggable architecture for data and image processing, which can
- Distributed Computing - [](#erlang) #### General-Purpose Machine Learning [](#general-purpose-machine-learning-7) - Disco - Map Reduce in Erlang. **\[Deprecated\]**
- Data Visualization Libraries - Discovering high-performance libraries for manipulating, exploring, and graphically representing complex datasets to derive actionable insights.
- Kotlin Deep Learning Libraries - [](#kotlin) #### Deep Learning [](#deep-learning-2) - KotlinDL - Deep learning framework written in Kotlin.
- Gesture Recognition Libraries - [](#gesture-detection) - grt - The Gesture Recognition Toolkit (GRT) is a cross-platform, open-source, C++ machine learning library designed for real-time gesture recognition.
- Scala Machine Learning Libraries - [](#scala) #### Natural Language Processing [](#natural-language-processing-14) - ScalaNLP - ScalaNLP is a suite of machine learning and numerical computing libraries. - Breeze - Breeze is a numerical processing library
- Visual Data Mining Tools - [](#sas) #### General-Purpose Machine Learning [](#general-purpose-machine-learning-26) - Visual Data Mining and Machine Learning - Interactive, automated, and programmatic modelling with the latest machine learning algo
- Federated Learning Frameworks - [](#federated-learning) - Flower - A unified approach to federated learning, analytics, and evaluation. Federate any workload, any ML framework, and any programming language. - PySyft - A Python library for secure and pr
- Reinforcement Learning - [](#reinforcement-learning-2) - DeepMind Lab - DeepMind Lab is a 3D learning environment based on id Software's Quake III Arena via ioquake3 and other open source software. Its primary purpose is to act as a testbed for
- Numerical Computing - [](#misc) - Neanderthal - Fast Clojure Matrix Library (native CPU, GPU, OpenCL, CUDA) - kixistats - A library of statistical distribution sampling and transducing functions - fastmath - A collection of functions for math
- Scheme Implementations - [](#scheme) #### Neural Networks [](#neural-networks-1) - layer - Neural network inference from the command line, implemented in CHICKEN Scheme.
- Survival Analysis Libraries - [](#python-survival-analysis) - lifelines - lifelines is a complete survival analysis library, written in pure Python - Scikit-Survival - scikit-survival is a Python module for survival analysis built on top of scikit-le