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
  • 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”

  • JAX
    • auto-differentiation engine for native Python and NumPy functions that compules to GPUs and TPUs



  • 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