Keras that does not support TensorFlow 2.0. We recommend using `tf.keras`, or alternatively, downgrading to TensorFlow 1.14

23,784

Solution 1

You should only have to change the imports at the top:

from tensorflow.python.keras.layers import Dense
from tensorflow.python.keras import Sequential

classifier = Sequential()
classifier.add(Dense(6, init = 'uniform', activation = 'relu', input_dim = 11))

Solution 2

TensorFlow 2.0+ is only compatible with Keras 2.3.0+, so if you wish to use Keras 2.2.5-, you'll need TensorFlow 1.15.0-. Alternatively, yes, you can do from tensorflow.keras import ..., but that will not use your keras package at all and you might as well uninstall it.

Solution 3

if you want to use tensorflow 2.0+ you must have keras 2.3+
try to upgrade your keras it works for me :

pip install -U keras

or you may specify the keras version to 2.3

Solution 4

I ran into the same issue. Downgraded my TensorFlow to version 1.14 using the following:

!pip install tensorflow==1.14.0

Fixed the error.

Solution 5

first, import tensorflow:

import tensorflow as tf

Next, in place of this,

classifier.add(Dense(output_dim = 6, init = 'uniform', activation = 'relu', input_dim = 11))

use:

classifier.add(tf.keras.layers.Dense(output_dim = 6, init = 'uniform', activation = 'relu', input_dim = 11))

Let me know if it works.

Share:
23,784
Dean
Author by

Dean

Updated on July 09, 2022

Comments

  • Dean
    Dean almost 2 years

    I am having an error regarding (Keras that does not support TensorFlow 2.0. We recommend using tf.keras, or alternatively, downgrading to TensorFlow 1.14.) any recommendations.

    thanks

    import keras
    #For building the Neural Network layer by layer
    from keras.models import Sequential
    #To randomly initialize the weights to small numbers close to 0(But not 0)
    from keras.layers import Dense
    
    classifier=tf.keras.Sequential()
    
    classifier.add(Dense(output_dim = 6, init = 'uniform', activation = 'relu', input_dim = 11))
    
    
    
    
    RuntimeError: It looks like you are trying to use a version of multi-backend Keras that does not support TensorFlow 2.0. We recommend using `tf.keras`, or alternatively, downgrading to TensorFlow 1.14.
    
  • Dean
    Dean over 4 years
    I have for pointing this out. I have done exactly what you listed up. but I have got the following error TypeError: __init__() missing 1 required positional argument: 'units' Thanks
  • nickyfot
    nickyfot over 4 years
    This is an error in the Dense layer construction, different from the import error you had so far (so the code you have supplied above). In short, all layers have a required units parameter that defines the number of neurons. You can see more details in the documentation
  • Dr. Snoopy
    Dr. Snoopy over 4 years
    There is a big difference between "can" and is actually supported, only Keras 2.3.x supports TensorFlow 2.0, so do not recommend to use 2.2.5 with it.
  • OverLordGoldDragon
    OverLordGoldDragon over 4 years
    @MatiasValdenegro Good thing there's a second half to that sentence
  • Dr. Snoopy
    Dr. Snoopy over 4 years
    Yes, that's why I recommend not to mention partially supported TF versions.
  • Dean
    Dean over 4 years
    do you mean units=6 as the input layer classifier.add(Dense(units = 6, init = 'uniform', activation = 'relu', input_dim = 11))
  • OverLordGoldDragon
    OverLordGoldDragon over 4 years
    @MatiasValdenegro If anything, it explicitly discourages using K2.2.5+TF2 - else the user may run it w/o error and think it's fine. But alright, guess I can make it more explicit - answer updated
  • nickyfot
    nickyfot over 4 years
    More like classifier.add(Dense(6, init = 'uniform', activation = 'relu', input_shape = (11,))). Input shape needs to be a tuple as per the documentation. This is kind of separate problem, so you might have to open a new question or check for existing examples of MLP implementations using keras.
  • Dr. Snoopy
    Dr. Snoopy over 4 years
    No, now I found evidence that Keras 2.2.5 does not actually support TF 2.0, just look at this commit, so just saying "can" is actually wrong.
  • OverLordGoldDragon
    OverLordGoldDragon over 4 years
    @MatiasValdenegro Hmm... I'm possibly recalling something incorrectly - my mistake, thanks for pointing it out; fixed