* FaceBook Pytorch is a good option for learning and prototyping due to the high level and support of various
environments, a dynamic graph, can give advantages in learning. Used by Twitter, Salesforce.
* Google TenserFlow – originally had a static solution graph, now dynamic is also supported. Used in
Gmail, Google Translate, Uber, Airbnb, Dropbox. To attract use in the Google cloud for it
Google TPU (Google Tensor Processing Unit) hardware processor is being implemented.
* Keras is a high-level tweak providing more abstraction for TensorFlow, Theano
or CNTK. A good option for learning. For example, he
allows you not to specify the dimension of layers, calculating it yourself, allowing the developer to focus on the layers
architecture. Usually used on top of TenserFlow. The code on it is maintained by Microsoft CNTK.
There are also more specialized frameworks:
* Apache MXNet (Amazon) and a high-level add-on for it Gluon. MXNet is a framework with an emphasis on
scaling, supports integration with Hadoop and Cassandra. Supported
C ++, Python, R, Julia, JavaScript, Scala, Go and Perl.
* Microsoft CNTK has integrations with Python, R, C # due to the fact that most of the code is written in C ++. That all sonova
written in C ++, this does not mean that CNTK will train the model in C ++, and TenserFlow in Python (which is slow),
since TenserFlow builds graphs and its execution is already carried out in C ++. Features CNTK
from Google TenserFlow and the fact that it was originally designed to run on Azure clusters with multiple graphical
processors, but now the situation is leveled and TenserFlow supports the cluster.
* Caffe2 is a framework for mobile environments.
* Sonnet – DeepMind add-on on top of TensorFlow for training super-deep neural networks.
* DL4J (Deep Learning for Java) is a framework with an emphasis on Java Enterprise Edition. High support for BigData in Java: Hadoop and Spark.
With the speed of availability of new pre-trained models, the situation is different and, so far, Pytorch is leading. In terms of support for environments, in particular public clouds, it is better for the farms promoted by the vendors of these clouds, so TensorFlow support is better in Google Cloud, MXNet in AWS, CNTK in Microsoft Azure, D4LJ in Android, Core ML in iOS. By languages, almost everyone has common support in Python, in particular, TensorFlow supports JavaScript, C ++, Java, Go, C # and Julia.