(Click on the public number above to get a quick look) Compilation: Bole Online - Flying Brother's Coffee, English: dashbouquet Although artificial intelligence (AI) has been around for a long time, it has recently become a buzzword because of the tremendous advances made in this field. AI was once considered to be the exclusive domain of enthusiasts and geniuses, but due to the proliferation of libraries and frameworks, it has slowly become a less exclusive IT field and has attracted a large number of talents. In this article, we'll cover high-quality libraries for AI development and talk about their strengths and weaknesses, as well as features. Now let's get into and explore the world of AI libraries. TensorFlow: "Using Data Flow Charts to Calculate Scalable Machine Learning" Language: C++ 84 725 ★ When you first came into contact with AI, the first frameworks you heard about should include Google's TensorFlow. TensorFlow is an open source software that uses data flow diagrams for numerical calculations. This nice framework is known for its architecture, which allows computing on any CPU or GPU, whether it's a desktop, a server, or a mobile device. It is available in the Python programming language. TensorFlow is primarily sorted through the data layer, and we can call nodes and make decisions based on the information we get. advantage: Use easy-to-learn languages ​​like Python. Use a calculation graph to abstract. You can use the TensorBoard for visualization. Disadvantages: It runs slowly because Python is not the fastest language. Lack of many pre-trained models. Not completely open source. Microsoft CNTK: "Open Source Deep Learning Toolkit" Language: C++ 13 516 ★ Can we see it as a response from Microsoft to Google TensorFlow? Microsoft's CNTK (Computational Network Toolkit) is a library for enhancing modularity and maintaining the separation of computing networks, providing learning algorithms and model descriptions. In the case of a large number of servers for calculations, CNTK can utilize multiple servers simultaneously. CNTK is said to be functionally close to Google's TensorFlow, but faster than the other. advantage: Highly flexible. Allow distributed training. Support for C++, C#, Java, and Python. Disadvantages: It is implemented in a new language, NDL (Network Description Language). Lack of visualization. Theano: "Numerical Calculation Library" Language: Python 7 550 ★ A powerful competitor to TensorFlow, Theano is a powerful Python library that allows efficient calculations using efficient multidimensional arrays. Instead of using a CPU, it uses the GPU transparently for data-intensive computing, so it is very efficient. Therefore, in about 10 years, Theano has been used for large-scale data-intensive computing. However, on September 28, 2017, the development team announced that it will discontinue its major development after releasing version 1.0 on November 15, 2017. But this does not weaken its powerful strength, you can still use it, and conduct in-depth study at any time. advantage: The CPU and GPU are optimized appropriately. Efficient numerical calculation tasks. Disadvantages: Compared to other libraries, the original Theano is a bit low-level. Need to work with other libraries to get a higher level of abstraction. Use a little bug on AWS. Caffe: “The fast and open architecture for deep learning†Language: C++ 22 111 ★ Caffe is a powerful deep learning framework. Like the other frameworks in this list, it is very fast and efficient for in-depth study. With Caffe, you can easily build a CNN (Convolutional Neural Network) for image classification. It works fine on the GPU, making it run very fast. The picture above is the main class of Caffe. advantage: Can be used in conjunction with Python and MATLAB. high performance. You can train your model without writing code. Disadvantages: Reluctant network support is not good. Not very good for the new architecture. Keras: "Deep learning for humans" Language: Python 23 711 ★ Keras is an open source neural network library written in Python. Unlike Ends-to-End machine learning frameworks such as TensorFlow, CNTK, Theano, and Keras, Instead, it is an interface that provides a high level of abstraction that makes the configuration of the neural network easier without having to consider the framework in which it is located. Google's TensorFlow currently supports Keras as a backend, and Microsoft's CNTK will be supported in a short time. advantage: It is user friendly and easy to use. Highly expanded. It can run seamlessly on a CPU or GPU. Perfectly compatible with Theano and TensorFlow. Disadvantages: Cannot be effectively used as a stand-alone framework. Torch: "Open Source Machine Learning Library" Language: C 7 584 ★ Torch is an open source machine learning library for scientific computing and numerical computing. It is a library based on the Lua programming language (which is no longer Python). By providing a large number of algorithms, it is easier to study in-depth learning and improve efficiency and speed. It has a powerful N-dimensional array that helps with calculations like slices and indexes, and provides linear algebra programs and neural network models. Official website: http://torch.ch/ advantage: Highly flexible. Fast and efficient. A large number of pre-training models are available. Disadvantages: The documentation is not clear enough. Lack of plug-and-play code for immediate use. It is based on Lua, a less popular programming language. Accord.NET: Machine Learning, Computer Vision, Statistics, and General Scientific Computing for .NET Language: C# 2 424 ★ This is for C# programmers. The Accord.NET Framework is a .NET machine learning framework that makes audio and image processing easier. The framework can effectively solve numerical optimization, artificial neural networks, and even give visual features. In addition, Accord.NET has powerful capabilities for computer vision and signal processing and is easy to implement. advantage: It has a large and active development team. The documentation is very good. High quality visualization. Disadvantages: This is not a very popular framework. Slower than TensorFlow Spark MLlib: Scalable Machine Learning Library Language: Scala 15 708 ★ Apache's Spark MLlib is a highly scalable machine learning library. It's very useful in Java, Scala, Python, and even R because it uses libraries like Python and R like Numpy for efficient interaction. MLlib can be easily plugged into a Hadoop workflow. It provides machine learning algorithms such as classification, regression, clustering, and more. This powerful library is very fast when dealing with large amounts of data. advantage: Very fast for large-scale data processing. Can be used in multiple languages. Disadvantages: A steep learning curve. Only Hadoop supports Plug and Play. Sci-Kit Learn: "Machine Learning in Python" Language: Python 24 369 ★ Sci-kit learn is a powerful Python library for machine learning that is primarily used to build models. Building with other libraries such as Numpy, SciPy, and Matplotlib is very effective for statistical modeling techniques such as classification, regression, clustering, and more. Features of Sci-Kit learn include supervised learning algorithms, unsupervised learning algorithms, and cross-validation. advantage: Many shell algorithms can be used. Efficient data mining. Disadvantages: Not the best model building library. GPU usage is not efficient. MLPack: "Extensible C++ Machine Learning Library" Language: C++ 1 856 ★ MLPack is an extensible machine learning library implemented in C++. In C++, you can guess that its memory management is excellent. With high-quality machine learning algorithms and libraries, MLPack runs very fast. It is very friendly to novices because it provides a simple API to use. advantage: Highly expanded. Can be bound to Python and C++. Disadvantages: The documentation is not clear enough. to sum up The libraries discussed in this article are very efficient and have stood the test of time and quality. The five giants Facebook, Google, Yahoo, Apple, and Microsoft are using these libraries for deep learning and machine learning projects. What reason do you have to use? SHENZHEN CHONDEKUAI TECHNOLOGY CO.LTD , https://www.szsiheyi.com