Contents
Classical Machine Learning
- Auto-sklearn
- automated machine learning on top of scikit-learn, inspired by auto-weka
- Auto-Weka
- automated machine learning on top of Weka
- auto_ml
- deprecated? AutoML toolbox
- cuML
- CUDA implementation of various machine learning algorithm with a scikit-learn like Python API; part of RAPIDS which provides the “full Python data science stack” for scalable use on NVIDIA GPUs - vastly implemented in C++/CUDA
- dask
- platform for scaling Python; contains some machine learning algorithms (dask-ml)
- dlib-ml
- machine learning algorithms written in C++ with a Python API
- H2O
- AutoML framework written in Java
- linfa
- an attempt to rewrite something like scikit-learn in Rust
- MLBox
- AutoML toolbox written on-top of Pandas, NumPy and Scikit-Learn
- MLJ.jl
- unified machine learning framework written in Julia
- mlpack
- machine learning library written in C++ that offers C++ classes and Python bindings
- mlr
- unified machine learning framework for R
- scikit-learn
- standard machine learning framework in the Python ecosystem
- scikit-garden
- gardening tools (aka trees and forests) that are not part of scikit-learn
- Shogun
- rich machine learning framework written in C++ with interfaces for many languages
- SmartCore
- an attempt to rewrite something like mplack in Rust
- TPOT
- automated optimization of machine learning pipelines utilizing genetic programming
- Weka
- machine learning algorithms for Java
Deep Learning
- adanet
- Neural architecture search for TensorFlow
- ArmNN
- NN execution platform SDK for the ARM platform supporting ARM CPUs, GPUs and NPUs
- Auto-Keras
- Neural architecture search for TensorFlow/Keras (it used PyTorch previously)
- Auto-PyTorch
- Neural architecture search for PyTorch using a structure similar to auto-sklearn
- Caffe
- deep learning framework by Berkeley AI Research; still used a lot in research
- candle
- minimalist ML framework for Rust
- CARLsim
- Spiking Neural Network (SNN) simulator
- Chainer
- purely written in Python/NumPy/CuPy
- CNTK
- Microsoft Cognitive Toolkit
- Darknet
- neural networks in C and CUDA, famous for YOLO
- Darknet (AlexeyAB)
- somewhat maintained fork of the original Darknet framework
- Many (inexperienced people) seem to love it as it gives the impression of something that works. In some sense it might be the Microsoft Word of deep learning frameworks: PyTorch - LaTeX + MS Word = darknet? ;)
- DeepCL
- no longer maintained framework to train NNs using OpenCL kernels
- Deeplearning4j
- deep learning library for Java
- fastai
- high-level API for PyTorch similar to Keras with various abstraction layers
- flax
- neural network library using JAX (both somewhat early stage and experimental)
- FluxML
- machine learning framework written purely in Julia that allows source-to-source automatic differentiation
- Haiku
- “Sonnet for JAX”
- “Sonnet for JAX”
- JAX
- auto-differentiation engine for native Python and NumPy functions that compules to GPUs and TPUs
- Keras
- high-level API for TensorFlow
- Knet.jl
- Knet.jl is the Koç University deep learning framework by Deniz Yuret. If I understand him correctly, then the development is driven by his students.
- Minkowski Engine
- auto-differentiation engine for sparse tensors
- MNN
- Mobile Neural Network is (primarily) an inference engine for fast and efficient deployment of neural networks
- MXNet
- part of the Apache universe
- nnabla
- aims to make research, development and implementation of neural networks more efficient
- ONNX (Runtime)
- Runtime provided by the ONNX (Open Neural Network Exchange) ecosystem with a focus on inference
- OpenCV DNN Module
- “inference framework” as part of OpenCV
- OpenMMLab
- high level API for PyTorch with a strong focus on all aspects of computer vision
- OpenNN
- high performance DNN framework programmed in C++ that claims to train faster than PyTorch and TensorFlow
- PaddlePaddle
- R&D platform from China with a focus industry practices
- PADL
- High level API to build pipeline abstractions for PyTorch
- PeekingDuck
- open-source, modular framework in Python, built for Computer Vision (CV) inference
- PyTorch
- successor of Torch written in a NumPy-like style
- PyTorch Geometric
- PyTorch extension for geometric deep learning
- PyTorch Lightning
- high level API for PyTorch to remove boilerplate code
- Sonnet
- High-level TensorFlow API by DeepMind that aims at building complex neural networks
- snnTorch
- Spiking Neural Network framework build on top of PyTorch
- SpikingJelly
- PyTorch-based Spiking Neural Network framework that provides a CuPy backend as well
- SQLFlow
- Keras/TensorFlow API for SQL integration
- TensorFlow
- Deep learning framework published by Google
- Theano
- deprecated but still in use in research (who knows why)
- tinygrad
- provides a sub 1000 lines of code basic deep learning framework build around PyOpenCL
- Torch
- still used in research and for embedded devices