Keras (& tensorflow) souvent utilisé pour l'apprentissage automatique avec python.
Je n'avais pas d'article résumant comment gérer les erreurs lors de l'utilisation de keras, je vais donc le résumer en fonction des questions résolues de teratail.
ImportError,AttributeError -Résolution en abaissant ou en augmentant la version (ImportError, AttributeError) -Parfois, il peut être résolu en réinstallant (Erreur d'importation) -Le fichier à importer est incorrect (Erreur d'attribut) ・ Tensorflow.keras et keras sont différents ・ Typo (distinction de type entre majuscules et minuscules)
Dans keras, l'influence des différentes versions de bibliothèques est grande. S'il est trop ancien ou trop récent, cela peut provoquer une erreur d'entrée.
Pour AttributeError, reportez-vous à l'article suivant.
ValueError
-Vérifiez le modèle de résumé du modèle. ・ Vérifiez la forme des données avec print (data.shape)
La plupart des ValueErrors sont que les dimensions des données sont différentes des attentes du modèle. Vérifiez la forme des données, et si elle est différente, utilisez reshape () pour mettre en forme les données.
Shapes A and B are incompatible ・ La sortie du modèle correspond-elle aux dimensions des données de sortie?
Par exemple, lorsque la sortie du modèle est 3 (Dense (3), etc.) même s'il doit s'agir d'une classification binaire. Vous devez analyser le modèle avec model.summary ().
expected ndim=A, found ndim=B -Depuis que l'entrée de Dense est un tableau unidimensionnel de base, remodeler ou aplatir pour le formater en une seule dimension. ・ Ou vous devez changer la forme d'entrée -Input_shape n'inclut pas la taille du lot -Resformer les données de l'image pour qu'elles deviennent (nombre d'échantillons, hauteur, largeur, canal) -Pour LSTM, il est nécessaire de définir [Nombre de lots, axe des temps, nombre de canaux]
expected layer_name to have shape A dimensions but got array with shape B ・ Le RVB et le noir et blanc ne sont-ils pas erronés (dans le cas d'une image)? ・ Si les dimensions des données d'entrée et de l'entrée du modèle correspondent -Reshape en un tenseur de 1 x nombre d'éléments (se produit lorsqu'il n'y a qu'une seule donnée de test)
Input arrays should have the same number of samples as target arrays. Found A input samples and B target samples
・ Le nombre de données d'entrée et de données de sortie est-il correct?
ResourceExhaustedError ・ MOO (mémoire insuffisante, mémoire insuffisante, erreur d'épuisement des ressources) ・ Réduisez la taille du lot ・ Redémarrez le PC
Une erreur qui se produit lorsque la mémoire du GPU ou du PC est insuffisante. La méthode générale consiste à augmenter la mémoire ou à réduire la quantité de traitement.
Le programme est-il stocké en mémoire pour certaines choses? Parfois, cela arrive, donc le réinitialiser avec un redémarrage peut fonctionner (par exemple, si cela a fonctionné).
・ Données de pré-traitement ・ Il y a un problème avec les données d'entrée elles-mêmes ・ Les données de prévision sont-elles correctes? ・ Changer les hyper paramètres ・ Certaines choses ne peuvent pas être apprises même avec l'apprentissage automatique
S'il s'agit de données d'image, est-il normalisé ([0,255] → [-1,1]), les données d'entrée ou les données de prédiction sont-elles endommagées, etc.
Quoi qu'il en soit, vous devez vous assurer que les données sont exactes. Si les données ne sont pas exactes, ni l'apprentissage ni la prédiction ne sont bien sûr précis.
De plus, si les types de données sont insuffisants, la précision d'apprentissage n'augmentera pas. Si le temps ne peut être prévu que par la température, le prévisionniste n'aura aucun problème.
Et parfois, il n'est pas possible d'apprendre par machine learning. Par exemple, les lancers de dés sont aléatoires et ne peuvent pas être prédits à l'aide de l'apprentissage automatique. Il y a quelques directions.
Voici comment traiter l'erreur.
Je ne suis pas très professionnel moi-même, il peut donc y avoir des erreurs dans le contenu. Dans ce cas, veuillez l'indiquer dans les commentaires.
Recommended Posts