[PYTHON] Für Anfänger, wie man mit häufigen Fehlern in Keras umgeht

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.

[Python] 5 Dinge, die zu tun sind, wenn "Attributfehler: Modul (Objekt)" xxx "kein Attribut" JJJ "hat"

ValueError

Gemeinsame Gegenstände

-Ü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.

Dokument von numpy.reshape

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).

Wenn Lerngenauigkeit nicht gut ist

・ 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.

Zusammenfassung

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.

Recommended Posts

Für Anfänger, wie man mit häufigen Fehlern in Keras umgeht
Umgang mit Laufzeitfehlern in subprocess.call
Umgang mit dem DistributionNotFound-Fehler
Umgang mit Enum-Kompatibilitätsfehlern
Umgang mit Speicherlecks in matplotlib.pyplot
Umgang mit Fehlern beim Auftreffen auf pip pip
[Für Anfänger] Wie man den Befehl say mit Python benutzt!
Umgang mit Pyenv-Initialisierungsfehlern bei Fischen 3.1.0
Vorgehensweise beim Ausführen von Transaktionen: In Anaconda fehlgeschlagen
[TensorFlow 2 / Keras] Ausführen des Lernens mit CTC Loss in Keras
[AWS] Umgang mit dem Fehler "Ungültiger Codepunkt" in CloudSearch
[Für Anfänger] So implementieren Sie O'reilly-Beispielcode in Google Colab
Wie man mit Python-Installationsfehlern in pyenv umgeht (BUILD FAILED)
Umgang mit Fehlern bei der Installation von Whitenoise und der Bereitstellung auf Heroku
Umgang mit Fehlern bei der Installation von Python und Pip mit Choco
So arbeiten Sie mit BigQuery in Python
10 Python-Fehler, die Anfängern häufig sind
Wie man mit verstümmelten Charakteren in json von Django REST Framework umgeht
Was tun, wenn die Python-Version in Cloud 9 von einer anderen Person erstellt wurde?
So reduzieren Sie die GPU-Speichernutzung mit Keras
[REAPER] Wie man Reascript mit Python spielt
So erstellen Sie ein Spigot-Plug-In (für Java-Anfänger)
Ich habe versucht, Keras in TFv1.1 zu integrieren
Ich kann nicht nerven. Wie man mit nervigen Objekten umgeht
Der Umgang mit dem Modul'tensorflow 'hat kein Attribut' '
Versuchen Sie, RPN mit Python zu berechnen (für Anfänger)
Wie man tkinter mit Python in Pyenv benutzt
Wie man Python für Anfänger schneller macht [numpy]
[Für Anfänger] Wie man Programmierung studiert Private Memo
[Einführung für Anfänger] Umgang mit MySQL mit Python
[Für Anfänger] Einführung in die Vektorisierung beim maschinellen Lernen
[EC2] Fehlerbehebung, dass Selen nicht ausgeführt werden kann (kein Modul namens Selen)
So behandeln Sie den Fehler "Kein Modul mit dem Namen '' '" in Jupyter Notebook | Install with! Pip!
So konvertieren / wiederherstellen Sie einen String mit [] in Python
So konvertieren Sie den Python # -Typ für Super-Anfänger von Python: str
[Für Anfänger] So studieren Sie den Python3-Datenanalysetest
So führen Sie eine Hash-Berechnung mit Salt in Python durch
Erklären Sie ausführlich, wie Sie mit Python einen Sound erzeugen
So führen Sie Python im virtuellen Raum aus (für MacOS)
Problemumgehung für Djangos Vorlage existiert nicht
So führen Sie mit OpenCV ein Null-Padding in einer Zeile durch
So führen Sie Tests zusammen mit Python unittest aus
[Python] Umgang mit Pandas read_html Lesefehler
So beheben Sie SSL-Modulfehler in einer Anaconda-Umgebung
Python # So überprüfen Sie Typ und Typ für Super-Anfänger
Unterstützung von x-nullable für swagger in der jsonschema-Bibliothek von Python
So geben Sie ein Dokument im PDF-Format mit Sphinx aus
So extrahieren Sie einen Termin in Google Kalender mit Python
[Für Anfänger] Zusammenfassung der Standardeingabe in Python (mit Erklärung)
[Für Anfänger] Verwendung der for-Anweisung unter Linux (Variablen usw.)
[Erklärung für Anfänger] Einführung in die Faltverarbeitung (erklärt in TensorFlow)
Implementieren von 100 Data Science-Schlägen für Anfänger in Data Science (für Windows 10 Home)
So definieren Sie mehrere Variablen in einer Python for-Anweisung
[Erklärung für Anfänger] Einführung in die Pooling-Verarbeitung (erklärt in TensorFlow)
Wie aktualisiere ich mit SQLAlchemy?
[Django] Wie man Eingabewerte im Voraus mit ModelForm angibt
TensorFlow-Lernmethode für Profis der freien Künste und Python-Anfänger