Top 10 Popular Open Source Tools for Artificial Intelligence (Framework)
Here are 10 popular AI open source tools / frameworks that we're going to talk about today.
1. TensorFlow
Top 10 Popular Open Source Tools for Artificial Intelligence (Framework)
TensorFlow is an open source software library originally developed by researchers and engineers at Google Brain Team. TensorFlow uses data flow diagrams for numerical calculations. Nodes in the graph represent mathematical operations, while edges represent multidimensional data arrays (tensors) for communication between them. Its architecture is flexible, and you can deploy computing to one or more CPUs or GPUs on a desktop, server, or mobile device using a single API.
TensorFlow provides a variety of APIs. The lowest level of API, TensorFlow Core, provides complete programming control. Advanced APIs are built on top of TensorFlow Core. These higher-level APIs are usually easier to learn and use than TensorFlow Core. In addition, higher-level APIs make repetitive tasks easier and more consistent among different users. An advanced API, like tf. estimator, can help you manage data sets, evaluators, training, and reasoning.
The data center unit in TensorFlow is a tensor. A tensor consists of a set of original values that form an arbitrary number of dimensions. The order of a tensor is its dimension.
Some Google applications using Tensorflow include:
RankBrain: Depth neural networks for search ranking are deployed on a large scale at www.google.com.
2. Inception image classification model: benchmark model and follow-up study of highly accurate computer vision model, which is built on the basis of the model obtained in the 2014 Imagenet Image Classification Challenge.
3. SmartReply: A Deep LSTM model that automatically generates e-mail responses.
4. Massively Multitask Networks for Drug Discovery: A Deep Neural Network Model for Identifying Effective Candidates Collaborated by Google and Stanford University.
5. Device-level computer vision for OCR: optical character recognition and real-time translation based on device-level computer vision model.
2. Apache System ML
The best open source tool for machine learning using large data.
Top 10 Popular Open Source Tools for Artificial Intelligence (Framework)
SystemML is a machine learning technology created by IBM. It is one of the top projects in Apache. It is a flexible and extensible machine learning system. The important features of SystemML are as follows:
1. Use class R and Python language to customize the algorithm.
2. There are many execution modes, including Spark MLContext, Spark Batch, Hadoop Batch, Standalone and JMLC (Java Machine Learning Connector).
3. Automatic optimization based on data and clustering characteristics ensures the high efficiency and scalability of the algorithm.
4. Regarding SystemML as a structured query language of machine learning, SQL. The latest version of SystemML (1.0.0) supports Java 8+, Scala 2.11+, Python 2.7/3.5+, Hadoop 2.6+, and Spark 2.1+.
5. It can run on Apache Spark. On Apache Spark, SystemML checks the code line by line to ensure that the code can run on Apache Spark clustering.
Future development of SystemML will include additional in-depth learning using GPU, such as importing and running neural network architecture and pre-training model for training.
Java Machine Learning Connector (JMLC) for SystemML
The Java Machine Learning Connector (JMLC) API is a programming interface that interacts with System ML when embedded. The main purpose of JMLC is to serve as a scoring API, in which the scoring function is expressed in the DML language of SystemML. In addition to scoring, embedded SystemML can perform unsupervised learning tasks such as clustering in the context of larger applications running on a single machine.
3. Caffe
Caffe is a clear and efficient framework for in-depth learning.
Top 10 Popular Open Source Tools for Artificial Intelligence (Framework)
Caffe was initially initiated by Yang Qingjia during her PhD at the University of California, Berkeley, and later jointly developed by Berkeley AI Research Corporation (BAIR) and community contributors. It mainly focuses on convolutional neural networks for computer vision applications. Caffe is a good and popular choice for tasks related to computer vision. You can register on Caffe Model Zoo and download many models that have been successfully modeled for direct development.
Advantage
1. Expressive architecture encourages practicality and innovation. Models and optimizations defined by configuration are used without hard coding. By setting a single flag to train on the GPU machine, and then deploying clustering or mobile devices, the switch between CPU and GPU is realized.
2. Extensible code is more conducive to development. In the first year of Caffe's development, more than 1,000 developers shared it and made a significant contribution to it.
3. Caffe's high speed makes perfect combination of theoretical experiment and practical application. Caffe uses a single NVIDIA K40 GPU to process more than 60 million images per day.
4. Community: Caffe has provided support for academic research projects in the visual, voice and multimedia fields, starting prototypes, and even large-scale industrial applications.
4. Apache Mahout
Apache Mahout is a distributed linear algebraic framework that provides some classical machine learning algorithms.
Top 10 Popular Open Source Tools for Artificial Intelligence (Framework)
Mahout aims to help developers implement their own algorithms quickly and conveniently. Apache Spark is a distributed backend that is ready to use, or can be extended to other distributed backgrounds. Its characteristics are as follows:
1. Mathematical expression Scala DSL.
2. Support multiple distributed backends (including Apache Spark).
3. Contains modular local solver for CPU/GPU/CUDA acceleration.
4. Apache Mahout applications include collaborative filtering (CF).
Please read the Chinese version for details.