I'm a bit confused in choosing between Keras (keras-team/keras) and tf.keras (tensorflow/tensorflow/python/keras/) for my new research project.

There is a debate that Keras isn't owned by anyone, so people are happier to contribute in and it'll be much easier to manage the project in the future. ‬

On the other side, ‪tf.keras is owned by Google, so more rigorous test and maintenance. Moreover, it seems this is a better option for taking advantage of new features which are presenting in Tensorflow v.2.

So, to start a data science (machine learning) project (in the research phase), that both are okay at the beginning, which one do you choose?!‬


2 Answers 2


From Keras repo.:

Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano.


Before installing Keras, please install one of its backend engines: TensorFlow, Theano, or CNTK. We recommend the TensorFlow backend.

So Keras is a skin (an API). TensorFlow has decided to include this skin inside itself as tf.keras. Since Keras provides APIs that TensorFlow has already implemented (unless CNTK and Theano overtake TensorFlow which is unlikely), tf.keras would keep up with Keras in terms of API diversity. Therefore, I would suggest to go with tf.keras which keeps you involved with only one, higher quality repo. instead of two, which means less headache.

Which one do you choose?!



This tweet from François Chollet suggests to use tf.keras.

We recommend you switch your Keras code to tf.keras.

Both Theano and CNTK are out of development. Meanwhile, as Keras backends, they represent less than 4% of Keras usage. The other 96% of users (of which more than half are already on tf.keras) are better served with tf.keras.

Keras development will focus on tf.keras going forward.

Importantly, we will seek to start developing tf.keras in its own standalone GitHub repository at keras-team/keras in order to make it much easier for 3rd party folks to contribute.

Keras has never been moving faster than now


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.