suchen
HeimTechnologie-PeripheriegeräteIT IndustrieEin Anfängerleitfaden zu Keras: Ziffernerkennung in 30 Minuten

In diesem Artikel wird beschrieben, dass ein Kerasmodell für die handschriftliche Ziffernerkennung unter Verwendung eines Faltungsnetzes (CNN) und des MNIST -Datensatzes erstellt wird. Lassen Sie es uns für Klarheit und verbesserten Fluss umformulieren.

A Beginner's Guide to Keras: Digit Recognition in 30 Minutes

Erstellen eines handgeschriebenen Ziffernerkenners mit Keras

Dieses Tutorial zeigt, dass er ein Modell erstellt, um handgeschriebene Ziffern mithilfe der Python-Keras-Bibliothek zu erkennen, eine API auf hoher Ebene, die den Bau und die Schulung neuronaler Netzwerke vereinfacht. Wir nutzen die Kraft von Faltungsnetzwerken (CNNs) und des weit verbreiteten MNIST -Datensatzes.

.

Verständnis des Ansatzes

Unser Modell verwendet eine CNN, eine besonders effiziente Architektur für die Bildklassifizierung. Im Gegensatz zu herkömmlichen neuronalen Netzwerken verarbeiten CNNS -Prozessdaten in einem 3D -Array (X, Y -Koordinaten und Farbe), was sie ideal für Bilddaten macht. Der MNIST -Datensatz, der 60.000 Schulungen und 10.000 Testbeispiele für handgeschriebene Ziffern enthält, liefert die erforderlichen markierten Daten für das Training.

künstliche neuronale Netzwerke (Anns) und CNNs

An ANN ist ein mathematisches Modell, das Eingangsdaten in Ausgabe durch versteckte Schichten transformiert, wobei jede Schicht eine Wahrscheinlichkeit darstellt. Das Training beinhaltet die Anpassung von Gewichten und Verzerrungen, die auf Fehlern basieren und das Netzwerk ermöglichen, Muster zu lernen.

CNNs bieten einen erheblichen Vorteil für die Bildverarbeitung. Ihre 3D -Array -Struktur bedeutet, dass jeder versteckte Schichtknoten nur mit einem kleinen Eingabebereich verbunden ist und die Effizienz im Vergleich zu herkömmlichen ANNs dramatisch erhöht. Zu den wichtigsten CNN -Schichten gehören Faltungsschichten (Merkmalextraktion), Pooling -Schichten (Merkmalsreduzierung), Abflachungsschichten (Dimensionalitätsreduzierung) und eine endgültige Klassifizierungsschicht.

A Beginner's Guide to Keras: Digit Recognition in 30 Minutes

A Beginner's Guide to Keras: Digit Recognition in 30 Minutes

Arbeiten mit dem MNIST -Datensatz

mnist.load_data() Der MNIST -Datensatz ist innerhalb von Keras leicht verfügbar. Wir laden das Trainings- und Testdaten mit

. Das Visualisieren von Beispiels Ziffern hilft dabei, die Datenstruktur zu verstehen:
from keras.datasets import mnist
import matplotlib.pyplot as plt

(x_train, y_train), (x_test, y_test) = mnist.load_data()
image_index = 35
plt.imshow(x_train[image_index], cmap='Greys')
plt.show()

A Beginner's Guide to Keras: Digit Recognition in 30 Minutes

Die Trainings- und Testsätze haben Abmessungen (60000, 28, 28) bzw. (10000, 28, 28), was 28x28 Pixel -Bilder anzeigt.

Datenvorverarbeitung

Vor dem Modellerstellen müssen Daten vorverarbeitet werden:
  1. Umformung: Bilder werden mit .reshape() in das Format von (m x n x 1) umgestaltet.
  2. .
  3. Normalisierung:
  4. Pixelwerte (0-255) werden durch Teilen durch 255 auf 0-1 normalisiert.
  5. One-Hot-Codierung: y_train Die abhängige Variable (y_test, to_categorical()) wird in eine Binärklassenmatrix unter Verwendung
  6. für die Kompatibilität mit der Ausgabe des Modells konvertiert.
from keras.datasets import mnist
import matplotlib.pyplot as plt

(x_train, y_train), (x_test, y_test) = mnist.load_data()
image_index = 35
plt.imshow(x_train[image_index], cmap='Greys')
plt.show()

Modelldesign und -training

Unser CNN -Modell ist nacheinander erstellt:
  1. Faltungsschichten:
  2. Merkmale aus den Eingabebildern extrahieren.
  3. Pooling -Schicht:
  4. reduziert Dimensionalität und Rechenkosten.
  5. Dropout -Schicht:
  6. verhindert Überanpassung.
  7. Flachschicht:
  8. Umwandelt die mehrdimensionale Ausgabe in ein 1D-Array.
  9. dichte Schichten:
  10. FESTE Klassifizierung durchführen.
img_rows, img_cols = 28, 28
x_train = x_train.reshape(x_train.shape[0], img_rows, img_cols, 1) / 255
x_test = x_test.reshape(x_test.shape[0], img_rows, img_cols, 1) / 255
y_train = to_categorical(y_train, num_classes=10)
y_test = to_categorical(y_test, num_classes=10)

sparse_categorical_crossentropy Das Modell wird unter Verwendung von .fit() Verlust (für Ganzzahl -Etiketten), dem Adam -Optimierer und der Genauigkeit als Metrik kompiliert. Das Training wird mit

unter Verwendung von Epochen und Stapelgröße durchgeführt. Das ausgebildete Modell wird für die spätere Verwendung gespeichert.
from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D

model = Sequential([
    Conv2D(32, (3, 3), activation='relu', input_shape=(img_rows, img_cols, 1)),
    Conv2D(64, (3, 3), activation='relu'),
    MaxPooling2D((2, 2)),
    Dropout(0.25),
    Flatten(),
    Dense(128, activation='relu'),
    Dropout(0.5),
    Dense(10, activation='softmax') # 10 output classes (digits 0-9)
])

Testen mit einem benutzerdefinierten Bild

.predict() Um das Modell zu testen, laden wir ein benutzerdefiniertes handgeschriebenes Ziffernbild, Vorverarbeitung (konvertieren Sie es in Graustufen, formulieren, normalisieren), laden Sie das gespeicherte Modell und verwenden Sie

, um die Klassifizierung zu erhalten.
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(x_train, y_train, batch_size=128, epochs=10, validation_data=(x_test, y_test))
model.save("test_model.h5")

A Beginner's Guide to Keras: Digit Recognition in 30 Minutes

Schlussfolgerung

Dieses Tutorial bietet ein grundlegendes Verständnis für den Aufbau eines handgeschriebenen Ziffernerkennungsmodells unter Verwendung von Keras und CNNs. Während die hohe Genauigkeit (z. B. & gt; 99%) eine hohe Genauigkeit erreicht, sind weitere Verbesserungen durch Modellparameterabstimmungen, Datenerweiterung und Erforschung fortschrittlicherer CNN -Architekturen möglich. Die bereitgestellten FAQs bieten weitere Einblicke in die beteiligten Konzepte.

Das obige ist der detaillierte Inhalt vonEin Anfängerleitfaden zu Keras: Ziffernerkennung in 30 Minuten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Top 21 Entwickler -Newsletter, die sich 2025 abonnieren könnenTop 21 Entwickler -Newsletter, die sich 2025 abonnieren könnenApr 24, 2025 am 08:28 AM

Bleiben Sie über die neuesten technischen Trends mit diesen Top -Entwickler -Newsletters informiert! Diese kuratierte Liste bietet für jeden etwas, von KI -Enthusiasten bis hin zu erfahrenen Backend- und Frontend -Entwicklern. Wählen Sie Ihre Favoriten und sparen Sie Zeit, um nach REL zu suchen

Serverlose Bildverarbeitungspipeline mit AWS ECS und LambdaServerlose Bildverarbeitungspipeline mit AWS ECS und LambdaApr 18, 2025 am 08:28 AM

Dieses Tutorial führt Sie durch das Erstellen einer serverlosen Bildverarbeitungspipeline mit AWS -Diensten. Wir werden ein Next.JS -Frontend erstellen, der in einem ECS -Fargate -Cluster eingesetzt wird und mit einem API -Gateway, Lambda -Funktionen, S3 -Eimer und DynamoDB interagiert. Th

CNCF ARM64 Pilot: Impact and InsightsCNCF ARM64 Pilot: Impact and InsightsApr 15, 2025 am 08:27 AM

Dieses Pilotprogramm, eine Zusammenarbeit zwischen CNCF (Cloud Native Computing Foundation), Ampere Computing, Equinix Metal und betätigten, rationalisiert ARM64 CI/CD für CNCF -Github -Projekte. Die Initiative befasst sich mit Sicherheitsbedenken und Leistung

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft