An open API service indexing awesome lists of open source software.

awesome-machine-learning

A curated list of awesome Machine Learning frameworks, libraries and software.
https://github.com/ml13571/awesome-machine-learning

Last synced: 10 days ago
JSON representation

  • Lua

  • Matlab

    • [Tools](#tools-1)

      • Contourlets - MATLAB source code that implements the contourlet transform and its utility functions.
      • Curvelets - The Curvelet transform is a higher dimensional generalization of the Wavelet transform designed to represent images at different scales and different angles.
      • Bandlets - MATLAB code for bandlet transform.
      • mexopencv - Collection and a development kit of MATLAB mex functions for OpenCV library.
      • Convolutional-Recursive Deep Learning for 3D Object Classification - Convolutional-Recursive Deep Learning for 3D Object Classification[DEEP LEARNING].
      • Spider - The spider is intended to be a complete object orientated environment for machine learning in Matlab.
      • LibSVM - A Library for Support Vector Machines.
      • LibLinear - A Library for Large Linear Classification.
      • Machine Learning Module - Class on machine w/ PDF, lectures, code
      • Pattern Recognition Toolbox - A complete object-oriented environment for machine learning in Matlab.
      • Pattern Recognition and Machine Learning - This package contains the matlab implementation of the algorithms described in the book Pattern Recognition and Machine Learning by C. Bishop.
      • Optunity - A library dedicated to automated hyperparameter optimization with a simple, lightweight API to facilitate drop-in replacement of grid search. Optunity is written in Python but interfaces seamlessly with MATLAB.
      • Machine Learning in MatLab/Octave - Examples of popular machine learning algorithms (neural networks, linear/logistic regressions, K-Means, etc.) with code examples and mathematics behind them being explained.
      • matlab_bgl - MatlabBGL is a Matlab package for working with graphs.
      • gaimc - Efficient pure-Matlab implementations of graph algorithms to complement MatlabBGL's mex functions.
      • Curvelets - The Curvelet transform is a higher dimensional generalization of the Wavelet transform designed to represent images at different scales and different angles.
      • MXNet - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, JavaScript and more.
      • NLP - A NLP library for Matlab.
  • .NET

    • [Tools](#tools-1)

      • OpenCVDotNet - A wrapper for the OpenCV project to be used with .NET applications.
      • Emgu CV - Cross platform wrapper of OpenCV which can be compiled in Mono to be run on Windows, Linus, Mac OS X, iOS, and Android.
      • Accord-Framework - The Accord.NET Framework is a complete framework for building machine learning, computer vision, computer audition, signal processing and statistical applications.
      • DiffSharp - An automatic differentiation (AD) library providing exact and efficient derivatives (gradients, Hessians, Jacobians, directional derivatives, and matrix-free Hessian- and Jacobian-vector products) for machine learning and optimization applications. Operations can be nested to any level, meaning that you can compute exact higher-order derivatives and differentiate functions that are internally making use of differentiation, for applications such as hyperparameter optimization.
      • GeneticSharp - Multi-platform genetic algorithm library for .NET Core and .NET Framework. The library has several implementations of GA operators, like: selection, crossover, mutation, reinsertion and termination.
      • Infer.NET - Infer.NET is a framework for running Bayesian inference in graphical models. One can use Infer.NET to solve many different kinds of machine learning problems, from standard problems like classification, recommendation or clustering through customized solutions to domain-specific problems. Infer.NET has been used in a wide variety of domains including information retrieval, bioinformatics, epidemiology, vision, and many others.
      • ML.NET - ML.NET is a cross-platform open-source machine learning framework which makes machine learning accessible to .NET developers. ML.NET was originally developed in Microsoft Research and evolved into a significant framework over the last decade and is used across many product groups in Microsoft like Windows, Bing, PowerPoint, Excel and more.
      • Neural Network Designer - DBMS management system and designer for neural networks. The designer application is developed using WPF, and is a user interface which allows you to design your neural network, query the network, create and configure chat bots that are capable of asking questions and learning from your feedback. The chat bots can even scrape the internet for information to return in their output as well as to use for learning.
      • Synapses - Neural network library in F#.
      • Vulpes - Deep belief and deep learning implementation written in F# and leverages CUDA GPU execution with Alea.cuBase.
      • Sho - Sho is an interactive environment for data analysis and scientific computing that lets you seamlessly connect scripts (in IronPython) with compiled code (in .NET) to enable fast and flexible prototyping. The environment includes powerful and efficient libraries for linear algebra as well as data visualization that can be used from any .NET language, as well as a feature-rich interactive shell for rapid development.
      • Vulpes - Deep belief and deep learning implementation written in F# and leverages CUDA GPU execution with Alea.cuBase.
      • Stanford.NLP for .NET - A full port of Stanford NLP packages to .NET and also available precompiled as a NuGet package.
  • Objective C

    • General-Purpose Machine Learning

      • YCML - A Machine Learning framework for Objective-C and Swift (OS X / iOS).
      • MLPNeuralNet - Fast multilayer perceptron neural network library for iOS and Mac OS X. MLPNeuralNet predicts new examples by trained neural networks. It is built on top of the Apple's Accelerate Framework, using vectorized operations and hardware acceleration if available. **[Deprecated]**
      • MAChineLearning - An Objective-C multilayer perceptron library, with full support for training through backpropagation. Implemented using vDSP and vecLib, it's 20 times faster than its Java equivalent. Includes sample code for use from Swift.
      • BPN-NeuralNetwork - It implemented 3 layers of neural networks ( Input Layer, Hidden Layer and Output Layer ) and it was named Back Propagation Neural Networks (BPN). This network can be used in products recommendation, user behavior analysis, data mining and data analysis. **[Deprecated]**
      • Multi-Perceptron-NeuralNetwork - It implemented multi-perceptrons neural network (ニューラルネットワーク) based on Back Propagation Neural Networks (BPN) and designed unlimited-hidden-layers.
      • KRHebbian-Algorithm - It is a non-supervisory and self-learning algorithm (adjust the weights) in the neural network of Machine Learning. **[Deprecated]**
      • KRKmeans-Algorithm - It implemented K-Means clustering and classification algorithm. It could be used in data mining and image compression. **[Deprecated]**
      • KRFuzzyCMeans-Algorithm - It implemented Fuzzy C-Means (FCM) the fuzzy clustering / classification algorithm on Machine Learning. It could be used in data mining and image compression. **[Deprecated]**
  • OCaml

    • General-Purpose Machine Learning

      • Oml - A general statistics and machine learning library.
      • GPR - Efficient Gaussian Process Regression in OCaml.
      • TensorFlow - OCaml bindings for TensorFlow.
      • Libra-Tk - Algorithms for learning and inference with discrete probabilistic models.
  • OpenCV

    • OpenSource-Computer-Vision

      • OpenCV - A OpenSource Computer Vision Library
  • Perl

  • Perl 6

  • PHP

    • General-Purpose Machine Learning

      • PHP-ML - Machine Learning library for PHP. Algorithms, Cross Validation, Neural Network, Preprocessing, Feature Extraction and much more in one library.
      • PredictionBuilder - A library for machine learning that builds predictions using a linear regression.
      • Rubix ML - A high-level machine learning (ML) library that lets you build programs that learn from data using the PHP language.
      • 19 Questions - A machine learning / bayesian inference assigning attributes to objects.
    • Natural Language Processing

      • jieba-php - Chinese Words Segmentation Utilities.
  • Python

    • General-Purpose Machine Learning

      • Scikit-Image - A collection of algorithms for image processing in Python.
      • Scikit-Opt - Swarm Intelligence in Python (Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing, Ant Colony Algorithm, Immune Algorithm, Artificial Fish Swarm Algorithm in Python)
      • SimpleCV - An open source computer vision framework that gives access to several high-powered computer vision libraries, such as OpenCV. Written on Python and runs on Mac, Windows, and Ubuntu Linux.
      • OpenFace - Free and open source face recognition with deep neural networks.
      • PCV - Open source Python module for computer vision. **[Deprecated]**
      • face_recognition - Face recognition library that recognizes and manipulates faces from Python or from the command line.
      • deepface - A lightweight face recognition and facial attribute analysis (age, gender, emotion and race) framework for Python covering cutting-edge models such as VGG-Face, FaceNet, OpenFace, DeepFace, DeepID, Dlib and ArcFace.
      • retinaface - deep learning based cutting-edge facial detector for Python coming with facial landmarks
      • dockerface - Easy to install and use deep learning Faster R-CNN face detection for images and video in a docker container. **[Deprecated]**
      • Detectron - FAIR's software system that implements state-of-the-art object detection algorithms, including Mask R-CNN. It is written in Python and powered by the Caffe2 deep learning framework. **[Deprecated]**
      • detectron2 - FAIR's next-generation research platform for object detection and segmentation. It is a ground-up rewrite of the previous version, Detectron, and is powered by the PyTorch deep learning framework.
      • pytessarct - Python-tesseract is an optical character recognition (OCR) tool for python. That is, it will recognize and "read" the text embedded in images. Python-tesseract is a wrapper for [Google's Tesseract-OCR Engine](https://github.com/tesseract-ocr/tesseract).
      • PyTorchCV - A PyTorch-Based Framework for Deep Learning in Computer Vision.
      • joliGEN - Generative AI Image Toolset with GANs and Diffusion for Real-World Applications.
      • Self-supervised learning
      • neural-style-pt - A PyTorch implementation of Justin Johnson's neural-style (neural style transfer).
      • Detecto - Train and run a computer vision model with 5-10 lines of code.
      • neural-dream - A PyTorch implementation of DeepDream.
      • Deep High-Resolution-Net - A PyTorch implementation of CVPR2019 paper "Deep High-Resolution Representation Learning for Human Pose Estimation"
      • TF-GAN - TF-GAN is a lightweight library for training and evaluating Generative Adversarial Networks (GANs).
      • dream-creator - A PyTorch implementation of DeepDream. Allows individuals to quickly and easily train their own custom GoogleNet models with custom datasets for DeepDream.
      • Lucent - Tensorflow and OpenAI Clarity's Lucid adapted for PyTorch.
      • lightly - Lightly is a computer vision framework for self-supervised learning.
      • Learnergy - Energy-based machine learning models built upon PyTorch.
      • OpenVisionAPI - Open source computer vision API based on open source models.
      • IoT Owl - Light face detection and recognition system with huge possibilities, based on Microsoft Face API and TensorFlow made for small IoT devices like raspberry pi.
      • Exadel CompreFace - face recognition system that can be easily integrated into any system without prior machine learning skills. CompreFace provides REST API for face recognition, face verification, face detection, face mask detection, landmark detection, age, and gender recognition and is easily deployed with docker.
      • computer-vision-in-action - as known as ``L0CV``, is a new generation of computer vision open source online learning media, a cross-platform interactive learning framework integrating graphics, source code and HTML. the L0CV ecosystem — Notebook, Datasets, Source Code, and from Diving-in to Advanced — as well as the L0CV Hub.
      • segmentation_models - A TensorFlow Keras-based toolkit that offers pre-trained segmentation models for computer vision tasks. It simplifies the development of image segmentation applications by providing a collection of popular architecture implementations, such as UNet and PSPNet, along with pre-trained weights, making it easier for researchers and developers to achieve high-quality pixel-level object segmentation in images.
      • MLX - MLX is an array framework for machine learning on Apple silicon, developed by Apple machine learning research.
      • pkuseg-python - A better version of Jieba, developed by Peking University.
      • NLTK - A leading platform for building Python programs to work with human language data.
      • Pattern - A web mining module for the Python programming language. It has tools for natural language processing, machine learning, among others.
      • Quepy - A python framework to transform natural language questions to queries in a database query language.
      • YAlign - A sentence aligner, a friendly tool for extracting parallel sentences from comparable corpora. **[Deprecated]**
      • jieba - Chinese Words Segmentation Utilities.
      • SnowNLP - A library for processing Chinese text.
      • spammy - A library for email Spam filtering built on top of NLTK
      • loso - Another Chinese segmentation library. **[Deprecated]**
      • genius - A Chinese segment based on Conditional Random Field.
      • nut - Natural language Understanding Toolkit. **[Deprecated]**
      • Rosetta - Text processing tools and wrappers (e.g. Vowpal Wabbit)
      • PyNLPl - Python Natural Language Processing Library. General purpose NLP library for Python. Also contains some specific modules for parsing common NLP formats, most notably for [FoLiA](https://proycon.github.io/folia/), but also ARPA language models, Moses phrasetables, GIZA++ alignments.
      • PySS3 - Python package that implements a novel white-box machine learning model for text classification, called SS3. Since SS3 has the ability to visually explain its rationale, this package also comes with easy-to-use interactive visualizations tools ([online demos](http://tworld.io/ss3/)).
      • python-ucto - Python binding to ucto (a unicode-aware rule-based tokenizer for various languages).
      • python-frog - Python binding to Frog, an NLP suite for Dutch. (pos tagging, lemmatisation, dependency parsing, NER)
      • python-zpar - Python bindings for [ZPar](https://github.com/frcchang/zpar), a statistical part-of-speech-tagger, constituency parser, and dependency parser for English.
      • spaCy - Industrial strength NLP with Python and Cython.
      • PyStanfordDependencies - Python interface for converting Penn Treebank trees to Stanford Dependencies.
      • Distance - Levenshtein and Hamming distance computation. **[Deprecated]**
      • Fuzzy Wuzzy - Fuzzy String Matching in Python.
      • Neofuzz - Blazing fast, lightweight and customizable fuzzy and semantic text search in Python with fuzzywuzzy/thefuzz compatible API.
      • jellyfish - a python library for doing approximate and phonetic matching of strings.
      • textacy - higher-level NLP built on Spacy.
      • stanford-corenlp-python - Python wrapper for [Stanford CoreNLP](https://github.com/stanfordnlp/CoreNLP) **[Deprecated]**
      • CLTK - The Classical Language Toolkit.
      • Rasa - A "machine learning framework to automate text-and voice-based conversations."
      • yase - Transcode sentence (or other sequence) to list of word vector .
      • Polyglot - Multilingual text (NLP) processing toolkit.
      • DrQA - Reading Wikipedia to answer open-domain questions.
      • Dedupe - A python library for accurate and scalable fuzzy matching, record deduplication and entity-resolution.
      • Snips NLU - Natural Language Understanding library for intent classification and entity extraction
      • NeuroNER - Named-entity recognition using neural networks providing state-of-the-art-results
      • BigARTM - topic modelling platform.
      • NALP - A Natural Adversarial Language Processing framework built over Tensorflow.
      • DL Translate - A deep learning-based translation library between 50 languages, built with `transformers`.
      • Haystack - A framework for building industrial-strength applications with Transformer models and LLMs.
      • Transformers - A deep learning library containing thousands of pre-trained models on different tasks. The goto place for anything related to Large Language Models.
      • Aim - > An easy-to-use & supercharged open-source AI metadata tracker.
      • RexMex - > A general purpose recommender metrics library for fair evaluation.
      • ChemicalX - > A PyTorch based deep learning library for drug pair scoring
      • Shapley - > A data-driven framework to quantify the value of classifiers in a machine learning ensemble.
      • igel - > A delightful machine learning tool that allows you to train/fit, test and use models **without writing code**
      • ML Model building - > A Repository Containing Classification, Clustering, Regression, Recommender Notebooks with illustration to make them.
      • PyTorch Frame - > A Modular Framework for Multi-Modal Tabular Learning.
      • PyTorch Geometric - > Graph Neural Network Library for PyTorch.
      • PyTorch Geometric Temporal - > A temporal extension of PyTorch Geometric for dynamic graph representation learning.
      • Little Ball of Fur - > A graph sampling extension library for NetworkX with a Scikit-Learn like API.
      • Karate Club - > An unsupervised machine learning extension library for NetworkX with a Scikit-Learn like API.
      • Auto_ViML - > Automatically Build Variant Interpretable ML models fast! Auto_ViML is pronounced "auto vimal", is a comprehensive and scalable Python AutoML toolkit with imbalanced handling, ensembling, stacking and built-in feature selection. Featured in <a href="https://towardsdatascience.com/why-automl-is-an-essential-new-tool-for-data-scientists-2d9ab4e25e46?source=friends_link&sk=d03a0cc55c23deb497d546d6b9be0653">Medium article</a>.
      • PyOD - > Python Outlier Detection, comprehensive and scalable Python toolkit for detecting outlying objects in multivariate data. Featured for Advanced models, including Neural Networks/Deep Learning and Outlier Ensembles.
      • steppy - > Lightweight, Python library for fast and reproducible machine learning experimentation. Introduces a very simple interface that enables clean machine learning pipeline design.
      • Couler - Unified interface for constructing and managing machine learning workflows on different workflow engines, such as Argo Workflows, Tekton Pipelines, and Apache Airflow.
      • dtaidistance - High performance library for time series distances (DTW) and time series clustering.
      • einops - Deep learning operations reinvented (for pytorch, tensorflow, jax and others).
      • machine learning - automated build consisting of a [web-interface](https://github.com/jeff1evesque/machine-learning#web-interface), and set of [programmatic-interface](https://github.com/jeff1evesque/machine-learning#programmatic-interface) API, for support vector machines. Corresponding dataset(s) are stored into a SQL database, then generated model(s) used for prediction(s), are stored into a NoSQL datastore.
      • ChefBoost - a lightweight decision tree framework for Python with categorical feature support covering regular decision tree algorithms such as ID3, C4.5, CART, CHAID and regression tree; also some advanved bagging and boosting techniques such as gradient boosting, random forest and adaboost.
      • Bayesian Methods for Hackers - Book/iPython notebooks on Probabilistic Programming in Python.
      • Featureforge - learn compatible API.
      • scikit-learn - A Python module for machine learning built on top of SciPy.
      • OpenMetricLearning - A PyTorch-based framework to train and validate the models producing high-quality embeddings.
      • SimpleAI
      • astroML - Machine Learning and Data Mining for Astronomy.
      • Pylearn2 - A Machine Learning library based on [Theano](https://github.com/Theano/Theano). **[Deprecated]**
      • keras - High-level neural networks frontend for [TensorFlow](https://github.com/tensorflow/tensorflow), [CNTK](https://github.com/Microsoft/CNTK) and [Theano](https://github.com/Theano/Theano).
      • Lasagne - Lightweight library to build and train neural networks in Theano.
      • hebel - GPU-Accelerated Deep Learning Library in Python. **[Deprecated]**
      • Chainer - Flexible neural network framework.
      • prophet - Fast and automated time series forecasting framework by Facebook.
      • gensim - Topic Modelling for Humans.
      • tweetopic - Blazing fast short-text-topic-modelling for Python.
      • topik - Topic modelling toolkit. **[Deprecated]**
      • PyBrain - Another Python Machine Learning Library.
      • Brainstorm - Fast, flexible and fun neural networks. This is the successor of PyBrain.
      • implicit - Fast Python Collaborative Filtering for Implicit Datasets.
      • LightFM - A Python implementation of a number of popular recommendation algorithms for both implicit and explicit feedback.
      • Crab - A flexible, fast recommender engine. **[Deprecated]**
      • python-recsys - A Python library for implementing a Recommender System.
      • thinking bayes - Book on Bayesian Analysis.
      • Image-to-Image Translation with Conditional Adversarial Networks - Implementation of image to image (pix2pix) translation from the paper by [isola et al](https://arxiv.org/pdf/1611.07004.pdf).[DEEP LEARNING]
      • Restricted Boltzmann Machines - Restricted Boltzmann Machines in Python. [DEEP LEARNING]
      • Bolt - Bolt Online Learning Toolbox. **[Deprecated]**
      • CoverTree - Python implementation of cover trees, near-drop-in replacement for scipy.spatial.kdtree **[Deprecated]**
      • nilearn - Machine learning for NeuroImaging in Python.
      • neuropredict - Aimed at novice machine learners and non-expert programmers, this package offers easy (no coding needed) and comprehensive machine learning (evaluation and full report of predictive performance WITHOUT requiring you to code) in Python for NeuroImaging and any other type of features. This is aimed at absorbing much of the ML workflow, unlike other packages like nilearn and pymvpa, which require you to learn their API and code to produce anything useful.
      • imbalanced-learn - Python module to perform under sampling and oversampling with various techniques.
      • imbalanced-ensemble - Python toolbox for quick implementation, modification, evaluation, and visualization of ensemble learning algorithms for class-imbalanced data. Supports out-of-the-box multi-class imbalanced (long-tailed) classification.
      • Pyevolve - Genetic algorithm framework. **[Deprecated]**
      • breze - Theano based library for deep and recurrent neural networks.
      • Cortex - Open source platform for deploying machine learning models in production.
      • pyhsmm - library for approximate unsupervised inference in Bayesian Hidden Markov Models (HMMs) and explicit-duration Hidden semi-Markov Models (HSMMs), focusing on the Bayesian Nonparametric extensions, the HDP-HMM and HDP-HSMM, mostly with weak-limit approximations.
      • SKLL - A wrapper around scikit-learn that makes it simpler to conduct experiments.
      • neurolab
      • Spearmint - Spearmint is a package to perform Bayesian optimization according to the algorithms outlined in the paper: Practical Bayesian Optimization of Machine Learning Algorithms. Jasper Snoek, Hugo Larochelle and Ryan P. Adams. Advances in Neural Information Processing Systems, 2012. **[Deprecated]**
      • Pebl - Python Environment for Bayesian Learning. **[Deprecated]**
      • pomegranate - Hidden Markov Models for Python, implemented in Cython for speed and efficiency.
      • python-timbl - A Python extension module wrapping the full TiMBL C++ programming interface. Timbl is an elaborate k-Nearest Neighbours machine learning toolkit.