40
votes

Keras AttributError: l'objet 'séquentiel' n'a pas d'attribut 'Predict_classes'


1 commentaires

Exécutez-vous ceci sur Colab?


8 Réponses :


63
votes

Cette fonction a été supprimée dans TensorFlow version 2.6. Selon le keras in rstudio référence

mise à jour de

< pre> xxx

ou utilisez TensorFlow 2.5 ou version ultérieure.

Si vous utilisez TensorFlow version 2.5, vous recevrez l'avertissement suivant:

tensorflow \ python \ keras \ moteur \ séquentiel.py: 455: userwarning: modèle.predict_classes () est obsolète et sera supprimé après 2021-01-01. Veuillez utiliser à la place: * np.argmax (modèle.predict (x), axe = -1) , si votre modèle fait une classification multi-classes (par exemple s'il utilise un softmax Activation de la dernière couche). * (modèle.predict (x)> 0,5) .astype ("int32") , si votre modèle fait une classification binaire (par exemple s'il utilise un sigmoïde < / code> activation de la dernière couche).


0 commentaires

7
votes

J'ai utilisé le code suivant pour les prédictions xxx


1 commentaires

Cela n'a pas fonctionné pour moi. La réponse précédente l'a fait.



29
votes

J'ai vécu la même erreur, j'utilise ce code suivant et je réussis

remplacé:

predictions = (model.predict(x_test) > 0.5).astype("int32")

par celui-ci:

predictions = model.predict_classes(x_test)


1 commentaires

Merci le remplacer par votre code suggéré fonctionné!



10
votes

Nous pouvons remplacer la ligne de code problématique par ce qui suit: xxx


0 commentaires

1
votes

Dans la dernière version de TensorFlow, la fonction Predict_classes a été obsolète (il y avait un avertissement dans les versions précédentes à ce sujet). La nouvelle syntaxe est la suivante:

predictions = np.argmax(model.predict(x_test),axis=1)


2 commentaires

Utilisez le bloc de code pour votre code lors de la saisie


Des liens vers la documentation?



4
votes

Dans TensorFlow 2.7 Les classes prédites peuvent être obtenues avec le code suivant:

    predicted = np.argmax(model.predict(token_list),axis=1)


0 commentaires

1
votes

Utilisez-le car les prédits_classes sont supprimés avec la dernière version de TensorFlow

predictions = (model.predict(X_test) > 0.5)*1 

Puisqu'il s'agit d'un problème binaire (0 ou 1), la classe de sortie est déterminée par la question de savoir si la probabilité est plus grande que 0,5. D'où le code ci-dessus


0 commentaires

1
votes

Pour ce code ci-dessous pour un ensemble de données entier,

y_predict = np.argmax(model.predict(test_sequences), axis=1)

Ce code peut être utilisé pour les nouvelles versions.

preds = model.predict_classes(test_sequences)

Dans ce , le " test_sequence " est le cadre de données que vous devez prédire, et l'axe est de choisir des colonnes ou des lignes.


0 commentaires