Keras que no es compatible con TensorFlow 2.0. Recomendamos usar `tf.keras`, o alternativamente, bajar a TensorFlow 1.14

9

Tengo un error con respecto a (Keras que no es compatible con TensorFlow 2.0. Recomendamos usar tf.keras, o alternativamente, degradar a TensorFlow 1.14.) Cualquier recomendación.

Gracias

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.
Decano
fuente

Respuestas:

11

Solo debería cambiar las importaciones en la parte superior:

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))
nickthefreak
fuente
Tengo que señalar esto. He hecho exactamente lo que enumeraste. pero tengo el siguiente error TypeError: __init __ () falta 1 argumento posicional requerido: 'unidades' Gracias
Dean
Este es un error en la construcción de la capa densa, diferente del error de importación que tenía hasta ahora (por lo que el código que ha proporcionado anteriormente). En resumen, todas las capas tienen un parámetro de unidades requeridas que define el número de neuronas. Puede ver más detalles en la documentación
nickthefreak
¿te refieres a unidades = 6 como el clasificador de la capa de entrada.add (Denso (unidades = 6, init = 'uniforme', activación = 'relu', input_dim = 11))
Dean
Más como classifier.add(Dense(6, init = 'uniform', activation = 'relu', input_shape = (11,))). La forma de entrada debe ser una tupla según la documentación. Este es un tipo de problema separado, por lo que es posible que deba abrir una nueva pregunta o verificar los ejemplos existentes de implementaciones de MLP que usan keras.
nickthefreak
1
Esta respuesta me funciona.
VansFannel
3

TensorFlow 2.0+ solo es compatible con Keras 2.3.0+, por lo que si desea usar Keras 2.2.5-, necesitará TensorFlow 1.15.0-. Alternativamente, sí, puede hacerlo from tensorflow.keras import ..., pero eso no usará su keraspaquete en absoluto y también podría desinstalarlo.

OverLordGoldDragon
fuente
1
Hay una gran diferencia entre "can" y es realmente compatible, solo Keras 2.3.x es compatible con TensorFlow 2.0, por lo que no recomendamos usar 2.2.5 con él.
Matias Valdenegro
@MatiasValdenegro Es bueno que haya una segunda mitad para esa oración
OverLordGoldDragon
Sí, por eso recomiendo no mencionar versiones TF parcialmente compatibles.
Matias Valdenegro
@MatiasValdenegro En todo caso, desalienta explícitamente el uso de K2.2.5 + TF2; de lo contrario, el usuario puede ejecutarlo sin error y pensar que está bien. Pero bien, supongo que puedo hacerlo más explícito - respuesta actualizada
OverLordGoldDragon
1
No, ahora encontré evidencia de que Keras 2.2.5 en realidad no es compatible con TF 2.0, solo mire este commit , por lo que decir "can" es realmente incorrecto.
Matias Valdenegro
2

si quieres usar tensorflow 2.0+debes haber keras 2.3+
intentado actualizar tus keras, funciona para mí:

pip install -U keras

o puede especificar la versión de keras a 2.3

hossein hayati
fuente
1

Me encontré con el mismo problema. Bajé mi TensorFlow a la versión 1.14 usando lo siguiente:

!pip install tensorflow==1.14.0

Se corrigió el error.

Profeta cuántico
fuente
0

esta línea de código en la primera celda me funcionó

% tensorflow_version 1.x

lucas
fuente
0

Solucioné el problema ejecutando

pip install --ignore-installed --upgrade keras
shihs
fuente