Basic knowledge
Come in and learn about python's in-depth learning framework
Reproduced from the author of "Hundred Families": Literary Language Education
Theano:
Beginning in 2008, it is the first Python deep learning framework with great influence, which can be used to define, optimize and calculate mathematical expressions, especially multidimensional arrays. However, on September 28, 2017, the library was announced to be discontinued, so it is not recommended to continue learning as a research tool.
TensorFlow:
It is a new machine learning open source tool launched by Google in 2015. It is mainly used for machine learning and deep neural network research, but it is also a very basic system, so it can also be applied in many fields. He is also the most popular framework for in-depth learning, but there are many criticisms.
Over-complicated system design;
Frequently changing interfaces;
Interface design is too obscure to understand.
Document confusion and disconnection;
In conclusion, although not perfect, it is the most popular and powerful community, suitable for the production environment.
Keras:
Written by pure Python and using TensorFlow, Theano and CNTK as the back-end deep learning interface. The disadvantage is that over-encapsulation leads to loss of flexibility, and the program runs slowly, many bugs are hidden in the encapsulation. In conclusion, the easiest way to get started is to call the api, but it is not flexible enough to learn the real content of in-depth learning.
Caffe/Caffe2:
It is a clear and efficient framework for in-depth learning, which can run in both CPU and gpu. The advantage is simplicity and rapidity, but the disadvantage is flexibility. In conclusion, the documentation is not perfect, but the performance is excellent, almost all platform support, suitable for production environment, but difficult to expand, difficult to configure, and now there are fewer and fewer new projects based on CFAF.
MXNet:
It is a deep learning library that supports multiple languages and can run in cpu, gpu, cluster, server, desktop or mobile devices. It is praised for its super distributed support, obvious memory and memory optimization. In summary, the documents are a little confused, but the distributed performance is strong, and the language support is the most, which is suitable for AWS cloud platform.
CNTK:
Originally developed for internal use in Microsoft, its performance is stronger than that of mainstream tools such as Caffe, TensorFlow, Theano. However, the document is obscure and difficult to popularize. Now users are few, but the quality of the framework itself is good, the performance is more balanced, and the effect in the language domain is more prominent. In conclusion, the community is not active enough, but its performance is outstanding, and it is good at speech related research.
PyTorch:
The latest framework was released on January 18, 2017. Although it has the shortest qualifications, it is currently a rare, concise, elegant, efficient and fast framework. Drawing on many previous frameworks, this framework is currently the highest level of deep learning frameworks. No framework can be more flexible, easy to use and faster than PyTorch in three aspects. We can consider starting from him.
The above comes from the book "Framework for in-depth learning". If there are any inappropriate points, you are welcome to correct them.