Search code examples
pythontensorflowkerasversioncompatibility

Tensorflow compatibility with Keras


I am using Python 3.6 and Tensorflow 2.0, and have some Keras codes:

import keras
from keras.models import Sequential
from keras.layers import Dense

model = Sequential()
model.add(Dense(1))
model.compile(optimizer='adam',loss='mean_squared_error',metrics=['accuracy'])

When I run this code, I got the following error:

Keras requires TensorFlow 2.2 or higher. Install TensorFlow via pip install tensorflow

I checked on https://keras.io/, it says Keras was built on Tensorflow 2.0. So I am confused. What exact version of Tensorflow does latest Keras support? and how to fix the above error? Thanks!


Solution

  • The problem is that the latest keras version (2.4.x) is just a wrapper on top of tf.keras, which I do not think is that you want, and this is why it requires specifically TensorFlow 2.2 or newer.

    What you can do is install Keras 2.3.1, which supports TensorFlow 2.x and 1.x, and is the latest real releases of Keras. You can also install Keras 2.2.4 which only supports TensorFlow 1.x. You can install specific versions like this:

    pip install --user keras==2.3.1