A machine learning framework or library is one that is used in the context of machine learning in artificial intelligence (AI).
Active Machine Learning Frameworks
Machine learning frameworks:
- Scikit-learn
- Keras
- TensorFlow
- PyTorch
- Caffe
- MXNet
- JAX
- PaddlePaddle
- Weka
Scikit-learn
Scikit-learn is a Python library for the traditional machine learning tasks (e.g. regression, classification, clustering, etc.).
You can read this post about Scikit-learn.
TensorFlow
TensorFlow is a Python library used in production context.
It is FOSS.
It is developed by Google.
It is bundled in packages such as Mambaforge and Anaconda. It can be installed using package managers such as pip and conda.
Resources:
- TensorFlow [online]. Available at: https://www.tensorflow.org/
- TensorFlow. Available at: https://en.wikipedia.org/wiki/TensorFlow
- “TensorFlow in Google Colaboratory” video playlist.[online] Available at: https://www.youtube.com/playlist?list=PLQY2H8rRoyvyK5aEDAI3wUUqC_F0oEroL
Keras
Keras is a Python library for neural networks creation and training. It is popular because of its simplicity.
It relies on other ML software that uses as a backend, such as TensorFlow.
It is FOSS under an Apache 2.0 license.
Versions:
- 1 (2015)
- 2 (2019)
- 3
Keras 1 supports multiple backends.
Keras 2 supports a single backend, that is TensorFlow. Because of this, this version is bundled with TensorFlow.
Keras 3 supports multiple backends. This version is the one used when installing Keras as a standalone package.
Keras was created by François Chollet in 2015. It used other tools as backends.
It is bundled in packages such as Mambaforge and Anaconda. It can be installed using package managers such as pip and conda.
Resources:
- Keras [online]. Available at: https://keras.io/
- Keras [online]. Wikipedia. Available at: https://en.wikipedia.org/wiki/Keras
PyTorch
PyTorch is library PyTorch that is used for applications such as computer vision and natural language processing in the context of research.
It is a Linux Foundation project.
It is FOSS.
Caffe
Caffe is FOSS under a BSD license.
It has an interface for Python and command-line interface (CLI).
It is written in C++.
MXNet
MXNet is FOSS under an Apache 2.0 license.
JAX
JAX is a framework for machine learning research.
Reference:
- JAX [online]. Wikipedia. Available at: https://en.wikipedia.org/wiki/JAX_(software)
PaddlePaddle
PaddlePaddle is a deep learning platform developed by Baidu.
Weka
You can read this post about Weka.
Deprecated machine learning frameworks
Deprecated machine learning frameworks:
- Theano
- CNTK
- PlaidML
Theano
Theano was a general ML framework.
It ceased its developed in 2017, right after the release of its version 1.0.
The PyMC development team forked the project and renamed it as Aesara in 2018. It was then renamed to PyTensor in 2022, and it is no longer a general ML framework but a library supplying computational graph + symbolic math engine to the library PyMC.
References:
- Theano [online]. Wikipedia. Available at: https://en.wikipedia.org/wiki/Theano_(software)
CNTK
Cognitive Toolkit (CNTK) was a deep learning frameworked developed by Microsoft.
It was discontinued in 2019.
References:
- Microsoft Cognitive Toolkit [online]. Wikipedia. Available at: https://en.wikipedia.org/wiki/Microsoft_Cognitive_Toolkit
PlaidML
PlaidML was a portable tensor compiler.
It was acquired by company Intel.
It was discontinued in 2025, as explained on this external link.
References:
- PlaidML [online]. Wikipedia. Available at: https://en.wikipedia.org/wiki/PlaidML
Resources
Books
- “Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow“, Second, by Aurélien Géron
The latest edition is the third one.
You can find the second edition on this external link.