Keras (& Tensorflow) werden häufig für maschinelles Lernen mit Python verwendet.
Ich hatte keinen Artikel, der zusammenfasste, wie man mit Fehlern bei der Verwendung von Keras umgeht, daher werde ich ihn anhand der gelösten Fragen von Teratail zusammenfassen.
ImportError,AttributeError
In Keras ist der Einfluss verschiedener Bibliotheksversionen groß. Wenn es zu alt oder zu neu ist, kann es zu einem Inport-Fehler kommen.
Informationen zu AttributeError finden Sie im folgenden Artikel.
ValueError
-Überprüfen Sie die Modellzusammenfassung model.summary () ・ Überprüfen Sie die Form der Daten mit print (data.shape).
Die meisten ValueErrors sind, dass die Dimensionen der Daten von den Erwartungen des Modells abweichen. Überprüfen Sie die Form der Daten. Wenn dies anders ist, verwenden Sie reshape (), um die Daten zu formen.
Shapes A and B are incompatible ・ Entspricht die Ausgabe des Modells den Abmessungen der Ausgabedaten?
Zum Beispiel, wenn die Ausgabe des Modells 3 ist (dicht (3) usw.), obwohl es sich um eine binäre Klassifizierung handeln sollte. Sie müssen das Modell mit model.summary () analysieren.
expected ndim=A, found ndim=B
expected layer_name to have shape A dimensions but got array with shape B ・ Ist RGB und Schwarzweiß nicht falsch (im Fall eines Bildes)? ・ Ob die Abmessungen der Eingabedaten und der Modelleingabe übereinstimmen -Form auf einen Tensor von 1 x Anzahl der Elemente (tritt auf, wenn nur eine Testdaten vorhanden sind)
Input arrays should have the same number of samples as target arrays. Found A input samples and B target samples
・ Ist die Anzahl der Eingangs- und Ausgangsdaten korrekt?
ResourceExhaustedError ・ OOM (Nicht genügend Speicher, nicht genügend Speicher, Ressourcenmangel) ・ Reduzieren Sie die Chargengröße ・ Starten Sie den PC neu
Ein Fehler, der auftritt, wenn der Speicher der GPU oder des PCs nicht ausreicht. Die allgemeine Methode besteht darin, den Speicher zu vergrößern oder den Verarbeitungsaufwand zu verringern.
Ist das Programm für einige Dinge im Speicher gespeichert? Manchmal passiert es, so dass das Zurücksetzen mit einem Neustart möglicherweise funktioniert (z. B. wenn es funktioniert hat).
・ Daten vorverarbeiten ・ Es liegt ein Problem mit den Eingabedaten selbst vor ・ Sind die Prognosedaten korrekt? ・ Ändern Sie die Hyperparameter ・ Es gibt einige Dinge, die selbst beim maschinellen Lernen nicht gelernt werden können
Wenn es sich um Bilddaten handelt, werden sie normalisiert ([0,255] → [-1,1]), sind die Eingabedaten oder Vorhersagedaten beschädigt usw.
Auf jeden Fall müssen Sie sicherstellen, dass die Daten korrekt sind. Wenn die Daten nicht genau sind, sind natürlich weder Lernen noch Vorhersagen korrekt.
Wenn die Datentypen nicht ausreichen, erhöht sich auch die Lerngenauigkeit nicht. Wenn das Wetter nur anhand der Temperatur vorhergesagt werden kann, hat der Prognostiker keine Probleme.
Und manchmal ist es nicht möglich, durch maschinelles Lernen zu lernen. Zum Beispiel sind Würfelwürfe zufällig und können nicht durch maschinelles Lernen vorhergesagt werden. Es gibt einige Richtungen.
So gehen Sie mit dem Fehler um.
Ich bin selbst nicht so professionell, daher kann es zu Fehlern im Inhalt kommen. In diesem Fall weisen Sie bitte in den Kommentaren darauf hin.