# Comparison of ML Frameworks

There are several popular frameworks for DNNs and classical ML.  All widely used frameworks are open source. Most but not all support GPU acceleration.

## Deep Learning frameworks

<div align="left"><img src="https://2327526407-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvBP1svpACTB1R1x_U4%2F-LwEkSQpA-jH2BV6gEJt%2F-LwEmD_aNkyWXiVQpETt%2Flogo-1-tf.png?alt=media&#x26;token=d7a399c6-5520-46bf-94f0-09f69cae66b8" alt=""></div>

**TensorFlow** (by Google): Offers training, distributed training, and inference (TensorFlow Serving) as well as other capabilities such as TFLite (mobile, embedded), Federated Learning (compute on end-user device, share learnings centrally), TensorFlow\.js, (web-native ML), TFX for platform etc.  TensorFlow is widely adopted, especially in enterprise/production-grade ML.  <br>

<div align="left"><img src="https://2327526407-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvBP1svpACTB1R1x_U4%2F-LwEkSQpA-jH2BV6gEJt%2F-LwEly1m45zmV1d031Y4%2Flogo-2-keras.png?alt=media&#x26;token=b8ef1e3b-9730-4837-b5ee-fd883b4cf282" alt=""></div>

**Keras** (also by Google): A higher-level wrapper around TensorFlow and other frameworks such as R and CNTK, which form the “backend” to Keras in this context.<br>

<div align="left"><img src="https://2327526407-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvBP1svpACTB1R1x_U4%2F-LwEkSQpA-jH2BV6gEJt%2F-LwEmWqI7I47OMlGZkFE%2Flogo-3-pytorch.png?alt=media&#x26;token=55a1558b-54a1-42c9-a89e-fb2c19564039" alt=""></div>

**PyTorch** (by Facebook): An easy-to-use framework known for rapid prototyping. Facebook recently merged Caffe2 into the PyTorch project to support productionalizing and serving PyTorch-based models. PyTorch is especially popular in the research community.<br>

<div align="left"><img src="https://2327526407-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvBP1svpACTB1R1x_U4%2F-LwEkSQpA-jH2BV6gEJt%2F-LwEmujRrD-Vz1qdZAT0%2Flogo-4-fastai.png?alt=media&#x26;token=d2f2632e-8083-412e-a004-706783141be4" alt=""></div>

**Fast.ai** (by Fast.ai team): A library that sits on top of PyTorch to simplify and accelerate deep learning training.  Fast.ai is very new and its full reach is not yet known.<br>

<div align="left"><img src="https://2327526407-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvBP1svpACTB1R1x_U4%2F-LwEkSQpA-jH2BV6gEJt%2F-LwEnY1FCCyLJfI8MEF2%2Flogo-5-cntk.png?alt=media&#x26;token=fb103f5d-4792-4d9e-af47-0b9c5d4db884" alt=""></div>

**Microsoft Cognitive Toolkit\*** (by Microsoft): A framework focused on large-scale production deployments.  The community is small relative to other frameworks.\
\* Formerly **CNTK**<br>

<div align="left"><img src="https://2327526407-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvBP1svpACTB1R1x_U4%2F-LwEkSQpA-jH2BV6gEJt%2F-LwEns_zopfPOTbBo-Pz%2Flogo-6-mxnet.png?alt=media&#x26;token=2994fef3-da13-4a81-8d0a-dbb224acb1a2" alt=""></div>

**MXNet** (by Apache but associated with Amazon): An open source deep learning framework focused on large-scale production deployments.  MXNet is popular at Microsoft, Intel, and Amazon but not in the research community.<br>

<div align="left"><img src="https://2327526407-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvBP1svpACTB1R1x_U4%2F-LwEkSQpA-jH2BV6gEJt%2F-LwEoAL68gMOyAWyA1QJ%2Flogo-7-gluon.png?alt=media&#x26;token=3bceccbf-0d82-40ad-86dc-690e31f53a2d" alt=""></div>

**Gluon** (by Amazon and Microsoft): An attempt to create a Keras-like API layer for MXNet and CNTK.  Gluon is not very popular.  <br>

<div align="left"><img src="https://2327526407-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvBP1svpACTB1R1x_U4%2F-LwEkSQpA-jH2BV6gEJt%2F-LwEoTBvKk2XYgD5061x%2Flogo-8-chainer.png?alt=media&#x26;token=ffec1041-6d6c-4d7e-bba9-6cde9175d095" alt=""></div>

**Chainer** (by a Japanese company called Preferred Networks):  A deep learning framework that is popular in Japan and supported by tech giants such as IBM, NVIDIA, AWS, and Intel. That said, the Chainer community is relatively small.<br>

<div align="left"><img src="https://2327526407-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvBP1svpACTB1R1x_U4%2F-LwEkSQpA-jH2BV6gEJt%2F-LwEokOc4jGcUZ6RBU3e%2Flogo-9-paddle.png?alt=media&#x26;token=c673a458-dbee-4797-8c64-b1812d4c0f85" alt=""></div>

**PaddlePaddle** (by Baidu): A scalable deep learning platform originally developed for use on Baidu products that is focused on large-scale production deployments.  The PaddlePaddle community is relatively small.<br>

<div align="left"><img src="https://2327526407-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvBP1svpACTB1R1x_U4%2F-LwEkSQpA-jH2BV6gEJt%2F-LwEp01Oku5oreNKuUz0%2Flogo-10-dl4j.png?alt=media&#x26;token=f70dc458-1f2e-43b5-a17a-23623431cf55" alt=""></div>

**Deeplearning4j** (by Konduit, related to Eclipse): A deep learning programming library built for companies that need support for Java and Scala.  The community is relatively small.<br>

<div align="left"><img src="https://2327526407-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvBP1svpACTB1R1x_U4%2F-LwEkSQpA-jH2BV6gEJt%2F-LwEpa3U9HKE0EedkEWZ%2Flogo-11-caffe.png?alt=media&#x26;token=f2c76e6b-bde8-459c-ab84-841ec4a8fdf1" alt=""></div>

**Caffe** & **Caffe2** (by UC Berkeley): A deep learning framework that is especially suited to image classification and image segmentation. Caffe is not popular anymore but Facebook created a successor called Caffe2 which was recently merged into PyTorch.

## ML frameworks&#x20;

These frameworks are mostly used for “Classical ML” rather than Deep Learning:&#x20;

<div align="left"><img src="https://2327526407-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvBP1svpACTB1R1x_U4%2F-LwEkSQpA-jH2BV6gEJt%2F-LwEpu9rwWgVsSseffNt%2Flogo-12-xgboost.png?alt=media&#x26;token=c2694d93-a431-4f43-a404-b759a0c7bce5" alt=""></div>

**XGBoost**: An open-source library built for one of the most common machine learning algorithms, [gradient boosting](https://machine-learning.paperspace.com/wiki/gradient-boosting). The community is very large.<br>

<div align="left"><img src="https://2327526407-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvBP1svpACTB1R1x_U4%2F-LwEkSQpA-jH2BV6gEJt%2F-LwEq8nntcxnljDRUZuO%2Flogo-13-sklearn.png?alt=media&#x26;token=6aa80a28-1dc3-4db7-8727-9b815d78b47f" alt=""></div>

**Scikit-learn**: A machine learning library that provides algorithms for many standard machine learning tasks such as clustering, regression, classification, dimensionality reduction, and more. The community is very large.

## Libraries

Other popular machine learning libraries are typically used when preparing data for later use in ML frameworks. These include:&#x20;

* NumPy (arrays & linear algebra library)
* SciPy (scientific computing library)
* Pandas (data extraction & preparation)
* Matplotlib (plotting & data visualization)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://machine-learning.paperspace.com/wiki/comparison-of-ai-frameworks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
