En este artículo Manesh Sharma compara Keras con TensorFlow.
Resumiendo podemos decir que Keras ofrece un API de alto nivel sobre TensorFlow (que además puede ser su backend) lo que hace más sencillo su uso pero afecta al rendimiento en muchos escenarios:
Basics | Keras | TensorFlow |
Architecture | Keras has concise and simple architecture. | TensorFlow provides Keras as a framework that makes work easier. |
Prototyping | Keras complex model can be quickly built by writing the codes. | TensorFlow beginners can feel some difficulties in writing the code from scratch itself. |
Coding | Keras is easier to code as it is written in python. | TensorFlow is written in both python and c++, and it is difficult to implement custom and new functions like activation function, etc. |
Debugging | Keras sense a deal in simple networks. Hence, a lesser number of errors and less need for repeated debugging. | In the case of TensorFlow, it deals with complex neural networks. There are chances of a greater number of errors, which makes debugging quite difficult. Since the introduction of the previous update in TensorFlow, it comes with an inbuilt debugger that can debug during the training as well as generating the graphs. That pretty much makes things easier. |
Training time | In Keras, it takes a longer duration to train the models on the same datasets, and it takes more than two hours for processing 40,000 steps of training the models. | On the other hand, TensorFlow finishes training of 4,000 steps in around 15 to 20 minutes sounds convenient. |
Sets of data | Keras deals easily with simple networks. | TensorFlow is used for large and complex datasets and high-performance models, which requires fast execution. |
APIs level | Keras is a high-level API, and it runs on top of TensorFlow even on Theano and CNTK. It is easy to use and facilitates faster development. | TensorFlow is the framework that provides low and high-level API. So, in huge use cases, TensorFlow provides you both level options. |
Performance | In Keras, the performance is quite slow, even if you have observed the previous factors. | But TensorFlow is comfortable for high performances. |