Keras qui ne prend pas en charge TensorFlow 2.0. Nous vous recommandons d'utiliser `tf.keras`, ou bien de rétrograder vers TensorFlow 1.14

9

Je rencontre une erreur concernant (Keras qui ne prend pas en charge TensorFlow 2.0. Nous vous recommandons d'utiliser tf.kerasou de rétrograder vers TensorFlow 1.14.) Toutes les recommandations.

Merci

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.
doyen
la source

Réponses:

11

Vous ne devriez avoir qu'à modifier les importations en haut:

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
la source
J'ai pour le souligner. J'ai fait exactement ce que vous avez énuméré. mais j'ai l'erreur TypeError suivante: __init __ () manquant 1 argument positionnel requis: 'units' Merci
Dean
Il s'agit d'une erreur dans la construction de la couche dense, différente de l'erreur d'importation que vous avez eue jusqu'à présent (donc le code que vous avez fourni ci-dessus). En bref, toutes les couches ont un paramètre d'unités requis qui définit le nombre de neurones. Vous pouvez voir plus de détails dans la documentation
nickthefreak
voulez-vous dire unités = 6 comme classificateur de couche d'entrée.add (Dense (unités = 6, init = 'uniforme', activation = 'relu', input_dim = 11))
Dean
Plus comme classifier.add(Dense(6, init = 'uniform', activation = 'relu', input_shape = (11,))). La forme d'entrée doit être un tuple selon la documentation. Il s'agit d'une sorte de problème distinct, vous devrez donc peut-être ouvrir une nouvelle question ou rechercher des exemples existants d'implémentations MLP utilisant des keras.
nickthefreak
1
Cette réponse fonctionne pour moi.
VansFannel
3

TensorFlow 2.0+ est uniquement compatible avec Keras 2.3.0+, donc si vous souhaitez utiliser Keras 2.2.5-, vous aurez besoin de TensorFlow 1.15.0-. Alternativement, oui, vous pouvez le faire from tensorflow.keras import ..., mais cela n'utilisera pas du tout votre keraspackage et vous pourriez aussi bien le désinstaller.

OverLordGoldDragon
la source
1
Il existe une grande différence entre «peut» et est réellement pris en charge, seul Keras 2.3.x prend en charge TensorFlow 2.0, donc ne recommande pas d'utiliser 2.2.5 avec.
Matias Valdenegro
@MatiasValdenegro Heureusement qu'il y a une seconde moitié à cette phrase
OverLordGoldDragon
Oui, c'est pourquoi je recommande de ne pas mentionner les versions TF partiellement prises en charge.
Matias Valdenegro
@MatiasValdenegro Si quoi que ce soit, cela décourage explicitement d' utiliser K2.2.5 + TF2 - sinon l'utilisateur peut l'exécuter sans erreur et penser que tout va bien. Mais d'accord, je suppose que je peux le rendre plus explicite - réponse mise à jour
OverLordGoldDragon
1
Non, maintenant j'ai trouvé des preuves que Keras 2.2.5 ne prend pas réellement en charge TF 2.0, il suffit de regarder ce commit , donc dire simplement "peut" est en fait faux.
Matias Valdenegro
2

si vous voulez utiliser tensorflow 2.0+vous devez avoir keras 2.3+
essayé de mettre à jour vos keras ça marche pour moi:

pip install -U keras

ou vous pouvez spécifier la version keras à 2.3

hossein hayati
la source
1

J'ai rencontré le même problème. Rétrogradé mon TensorFlow vers la version 1.14 en utilisant ce qui suit:

!pip install tensorflow==1.14.0

Correction de l'erreur.

Prophète quantique
la source
0

cette ligne de code sur la première cellule a fonctionné pour moi

% tensorflow_version 1.x

lucas
la source
0

J'ai résolu le problème en exécutant

pip install --ignore-installed --upgrade keras
shihs
la source