A curated list of awesome machine learning frameworks, libraries and software (by language). Inspired by awesome-php.
IMPORTANT NOTE ON PRs:
As of April 2026, too many PRs are being generated by LLMs, this is no longer fun or manageable. If you want to contribute to this repo, email me at joseph dot misiti @ hey dot com to prove you're human with a link to your PR and I'll merge it. Thank you for your understanding.
Also, a listed repository should be deprecated if:
Repository's owner explicitly says that "this library is not maintained".
Not committed for a long time (2~3 years).
Further resources:
For a list of free machine learning books available for download, go here.
For a list of professional machine learning events, go here.
For a list of (mostly) free machine learning courses available online, go here.
For a list of blogs and newsletters on data science and machine learning, go here.
For a list of free-to-attend meetups and local events, go here.
naive-apl - Naive Bayesian Classifier implementation in APL. [Deprecated]
C
General-Purpose Machine Learning
Darknet - Darknet is an open source neural network framework written in C and CUDA. It is fast, easy to install, and supports CPU and GPU computation.
Recommender - A C library for product recommendations/suggestions using collaborative filtering (CF).
Hybrid Recommender System - A hybrid recommender system based upon scikit-learn algorithms. [Deprecated]
neonrvm - neonrvm is an open source machine learning library based on RVM technique. It's written in C programming language and comes with Python programming language bindings.
cONNXr - An ONNX runtime written in pure C (99) with zero dependencies focused on small embedded devices. Run inference on your machine learning models no matter which framework you train it with. Easy to install and compiles everywhere, even in very old devices.
libonnx - A lightweight, portable pure C99 onnx inference engine for embedded devices with hardware acceleration support.
onnx-c - A lightweight C library for ONNX model inference, optimized for performance and portability across platforms.
notorch - Neural networks framework in pure C: training and inference, no dependencies.
qsmm - A C library implementing the rudiments of a toolchain for working with adaptive probabilistic assembler programs.
qwen3.8-27b-in-c - A native C inference engine for running Qwen3.8-27B locally on a single laptop CPU, with direct GGUF loading and a tested 8 GB memory path.
deepseek-v4-flash-0731-in-c - A native C CPU inference engine for running the 284B-A13B DeepSeek-V4-Flash-0731 on one laptop, reaching up to 1.12 token/s on tested hardware while streaming the 167 GB checkpoint from disk with a tested 8 GB memory path and no GPU or Python.
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.
YOLOv8 - Ultralytics' YOLOv8 implementation with C++ support for real-time object detection and tracking, optimized for edge devices.
SpecX - Specialized AI vision for extracting engineering specs from PDF/JPG to Excel.
Speech Recognition
VoxRT - On-device streaming speech recognition runtime with C API for Linux (aarch64/x86_64). Based on NVIDIA NeMo FastConformer (80 ms cache-aware lookahead). Companion Silero VAD, wake-word, and 14-command KWS via same runtime.
C++
Computer Vision
CosmoEdge - A C++ edge video AI engine for RTSP ingestion, CV/VLM inference, visual pipeline orchestration, alarms, and event delivery on Sophon and Rockchip NPUs.
DLib - DLib has C++ and Python interfaces for face detection and training general object detectors.
EBLearn - Eblearn is an object-oriented C++ library that implements various machine learning models [Deprecated]
OpenCV - OpenCV has C++, C, Python, Java and MATLAB interfaces and supports Windows, Linux, Android and Mac OS.
VIGRA - VIGRA is a genertic cross-platform C++ computer vision and machine learning library for volumes of arbitrary dimensionality with Python bindings.
Openpose - A real-time multi-person keypoint detection library for body, face, hands, and foot estimation
General-Purpose Machine Learning
Agentic Context Engine -In-context learning framework that allows agents to learn from execution feedback.
Speedster -Automatically apply SOTA optimization techniques to achieve the maximum inference speed-up on your hardware. [DEEP LEARNING]
BanditLib - A simple Multi-armed Bandit library. [Deprecated]
Caffe - A deep learning framework developed with cleanliness, readability, and speed in mind. [DEEP LEARNING]
CatBoost - General purpose gradient boosting on decision trees library with categorical features support out of the box. It is easy to install, contains fast inference implementation and supports CPU and GPU (even multi-GPU) computation.
CNTK - The Computational Network Toolkit (CNTK) by Microsoft Research, is a unified deep-learning toolkit that describes neural networks as a series of computational steps via a directed graph.
CUDA - This is a fast C++/CUDA implementation of convolutional [DEEP LEARNING]
DeepDetect - A machine learning API and server written in C++11. It makes state of the art machine learning easy to work with and integrate into existing applications.
Distributed Machine learning Tool Kit (DMTK) - A distributed machine learning (parameter server) framework by Microsoft. Enables training models on large data sets across multiple machines. Current tools bundled with it include: LightLDA and Distributed (Multisense) Word Embedding.
DLib - A suite of ML tools designed to be easy to imbed in other applications.
DSSTNE - A software library created by Amazon for training and deploying deep neural networks using GPUs which emphasizes speed and scale over experimental flexibility.
DyNet - A dynamic neural network library working well with networks that have dynamic structures that change for every training instance. Written in C++ with bindings in Python.
Fido - A highly-modular C++ machine learning library for embedded electronics and robotics.
FlexML - Easy-to-use and flexible AutoML library for Python.
Intel® oneAPI Data Analytics Library - A high performance software library developed by Intel and optimized for Intel's architectures. Library provides algorithmic building blocks for all stages of data analytics and allows to process data in batch, online and distributed modes.
LightGBM - Microsoft's fast, distributed, high performance gradient boosting (GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks.
libfm - A generic approach that allows to mimic most factorization models by feature engineering.
MCGrad - A production-ready library for multicalibration, fairness, and bias correction in machine learning models.
MiaIA - An open-source C++20 neural-network engine and Unreal Engine 5 Studio for building, training, visualizing, inspecting, and debugging observable feed-forward networks.
MLDB - The Machine Learning Database is a database designed for machine learning. Send it commands over a RESTful API to store data, explore it using SQL, then train machine learning models and expose them as APIs.
MXNet - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, JavaScript and more.
N2D2 - CEA-List's CAD framework for designing and simulating Deep Neural Network, and building full DNN-based applications on embedded platforms
Что это такое?Подобранный сообществом список фреймворков, библиотек и программ для машинного обучения, сгруппированных по языкам программирования.
Это инструмент, который нужно установить, или просто справочный список?Это просто документ в формате Markdown со ссылками — справочный список, который не нужно устанавливать или запускать. Вы переходите по ссылке на тот фреймворк или библиотеку, которые вас заинтересовали.
Как устроен список?Записи сначала сгруппированы по языку программирования (APL, C, C++, Java, JavaScript, Python, R, Rust, Scala, Swift и многие другие), а внутри каждого языка разбиты по категориям, например «Компьютерное зрение», «Обработка естественного языка», «Универсальное машинное обучение» и «Визуализация данных».
Записи актуальны и проверены?Да: репозиторий помечается как устаревший, если его владелец заявляет, что он не поддерживается, или если в нём не было коммитов в течение 2–3 лет. Новые pull-запросы теперь требуют, чтобы вы написали мейнтейнеру по электронной почте для ручной проверки человеком, так как запросы, сгенерированные LLM, стали слишком многочисленными для обычного рассмотрения.
Здесь только Python или есть и другие языки?Список охватывает почти все языки, которые используются в машинном обучении: Python, R, Java, C/C++, JavaScript, Julia, Rust, Go, Scala, Swift, Kotlin, Ruby, Haskell и другие, так что он полезен независимо от вашего стека.
Есть ли в списке что-то кроме программ, например книги или курсы?Да: в README есть ссылки на отдельные подобранные списки бесплатных книг по машинному обучению, профессиональных мероприятий по ML, бесплатных онлайн-курсов по ML и блогов и рассылок по науке о данных.
Можно ли посмотреть, как менялась популярность проекта со временем?В README встроен график «Star History», который показывает, как со временем росло количество звёзд репозитория на GitHub.
Есть ли в каждом разделе языка именно глубокое обучение?У большинства языков есть отдельный подраздел «Глубокое обучение» или «Универсальное машинное обучение», где перечислены фреймворки вроде Caffe, CNTK, MXNet, DyNet и LightGBM.