10 Open Source AI Frameworks

TensorFlow is a popular open source AI framework that is feature-rich and comes with many tools, libraries, pre-packaged models, and more. However, it’s not the only game in town. If an enterprise decides to develop an AI stack in-house on corporate infrastructure using another framework, there are plenty of open source frameworks available to choose from. Some of them geared toward deep learning, others are strong contenders for image classification systems, and so on.

PyTorch, Scikit-learn, and Caffe are great alternatives to TensorFlow and quite popular. Facebook, the developer of PyTorch is on a journey to beef up the ecosystem surrounding its creation. The number of tools, modules, libraries, and integrations continues to grow. The PyTorch stack, if you will is illustrated below.

source: Pytorch.org

On the other hand, Scikit-learn is an excellent choice for data analysis and data mining. That comes in very handy in the data preparation and feature engineering process. Best of all, it leverages NumPy, one of the most popular scientific computing libraries around, supporting multi-dimensional arrays, known as Numpy arrays.

If an organization is heavily vested in Apache Spark and the Hadoop ecosystem, then Spark MLib is a good choice. Or if the AI development team of a company is highly skilled in Lua and LuaJIT, then Torch is available. Torch predates PyTorch and it has a large support community. Here is a list of 10 open source AI frameworks.

10 Open Source AI Frameworks

Accord.NetC++Classification, regression, and clusteringAudio and image processing, computer vision, and more
Apache MahoutJava / ScalaDistributed linear algebra frameworkFor mathematicians, statistcians, and data scientist who create their own algorithms
CaffeC++Deep LearningSwitch between GPU and CPU. Large community. Used for image classification, speach, and multimedia.
KerasPythonDeep LearningHigh-level API. Very popular. Tight integration with TensorFlow and CNTK
MLPackC++"Swiss army knife" of methods and functionsSupports a wide array of methods like NeighborSearch, K-Means, RangeSearch...
PyTorchPythonDynamic neural nets and Tensor computationDeveloped by Facebook. Growing ecosystem of modules.
Scikit-learnPythonClassification, regression, and clusteringData mining and data analysis. Built on SciPy, NumPy, and motplotlib
Spark MLibJava, Scala, Python, and RClassification, regression, clustering, and moreUses Spark Core. 9x faster than Mahout. Used for ML pipelines
TorchLua / LuaJITDeep LearningSupports multi-dimensional arrays and GPU's. Computer vision, image classification, audio, and video
TheanoPythonUsed to evaluate mathematical expressions Integrated with NumPy. Leverages multi-dimensional arrays and GPU's