0Pricing
Python Academy · Lektion

Projekt zur Bildklassifikation

Ein einfaches CNN-Modell erstellen

Projekt zur Bildklassifikation ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 5. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 5 Lektionen.

Projekt zur Bildklassifizierung

Projekt zur Bildklassifizierung

In diesem Projekt erstellen wir ein einfaches CNN, um Bilder Kategorien zuzuordnen. Bei der Bildklassifizierung wird die Kategorie oder Bezeichnung eines Eingabebildes vorhergesagt.

Projekt zur Bildklassifikation — Illustration 1

Datensatz für die Klassifizierung

Datensatz für die Klassifizierung

Wir verwenden den Datensatz CIFAR-10, der aus 60.000 Bildern in 10 Kategorien wie Flugzeugen, Autos, Vögeln und Katzen besteht. Jedes Bild ist 32×32 Pixel groß und verfügt über 3 Farbkanäle (RGB).

Laden des Datensatzes

Laden des Datensatzes

Wir laden den Datensatz CIFAR-10 mit TensorFlow:

import tensorflow as tf
from tensorflow.keras.datasets import cifar10

# Load dataset
(x_train, y_train), (x_test, y_test) = cifar10.load_data()

# Normalize the pixel values to [0, 1]
x_train = x_train / 255.0
x_test = x_test / 255.0

print("Training data shape:", x_train.shape)

Erstellen des CNN-Modells

Erstellen des CNN-Modells

Wir definieren eine CNN-Architektur mit Faltungs-, Pooling- und vollständig verbundenen Schichten:

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense

# Define the CNN model
model = Sequential([
    Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),
    MaxPooling2D((2, 2)),
    Conv2D(64, (3, 3), activation='relu'),
    MaxPooling2D((2, 2)),
    Flatten(),
    Dense(128, activation='relu'),
    Dense(10, activation='softmax')
])

Kompilieren des Modells

Kompilieren des Modells

Wir kompilieren das Modell mit:

  • Verlustfunktion: Kategoriale Kreuzentropie für die Klassifizierung mehrerer Klassen.
  • Optimierer: Der Adam-Optimierer für effizientes Lernen.
  • Metriken: Genauigkeit zur Bewertung der Leistung.
# Compile the model
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

Trainieren des Modells

Trainieren des Modells

Wir trainieren das Modell 10 Epochen lang mit den Trainingsdaten. Während des Trainings lernt das Modell, Bilder Kategorien zuzuordnen.

# Train the model
model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test))

Evaluieren des Modells

Evaluieren des Modells

Nach dem Training evaluieren wir das Modell anhand der Testdaten, um seine Genauigkeit zu überprüfen:

# Evaluate the model
loss, accuracy = model.evaluate(x_test, y_test)
print(f"Test Accuracy: {accuracy * 100:.2f}%")

Erstellen von Vorhersagen

Erstellen von Vorhersagen

Wir können das trainierte Modell verwenden, um Vorhersagen für neue Bilder zu treffen:

# Predict the category of a test image
import numpy as np

sample_image = x_test[0]
sample_label = y_test[0]

prediction = np.argmax(model.predict(sample_image[np.newaxis, ...]))
print(f"Predicted Label: {prediction}, Actual Label: {sample_label[0]}")

Herausforderungen bei der Bildklassifizierung

Herausforderungen bei der Bildklassifizierung

Zu den häufigen Herausforderungen gehören:

  • Overfitting: Das Modell erzielt bei den Trainingsdaten gute Ergebnisse, bei neuen Daten jedoch schlechte.
  • Klassenungleichgewicht: Die Kategorien sind im Datensatz ungleich repräsentiert.
  • Rechenaufwand: Das Training tiefer Netzwerke erfordert erhebliche Ressourcen.

Zusammenfassung und nächste Schritte

Zusammenfassung und nächste Schritte

In diesem Projekt haben wir:

  • Ein CNN zur Bildklassifizierung mit dem Datensatz CIFAR-10 erstellt und trainiert.
  • Gelernt, den Datensatz zu laden, vorzuverarbeiten und zu evaluieren.
  • Herausforderungen bei Aufgaben zur Bildklassifizierung besprochen.

Als Nächstes untersuchen wir Techniken der Datenaugmentation, um die Modellleistung durch das Erzeugen von Variationen der Trainingsbilder zu verbessern.

Projekt zur Bildklassifikation — Illustration 10

Häufig gestellte Fragen

Ist die Lektion „Projekt zur Bildklassifikation“ kostenlos?

Ja — der vollständige Text von „Projekt zur Bildklassifikation“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 5 Lektionen.

Was lerne ich in „Projekt zur Bildklassifikation“?

Ein einfaches CNN-Modell erstellen Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Python Academy zu starten?

Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 5.

Wie lange dauert die Lektion „Projekt zur Bildklassifikation“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?

Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Was sind Bilddaten?
  2. Bildverarbeitung mit OpenCV
  3. Faltungsneuronale Netze (CNN)
  4. Projekt zur Bildklassifikation
  5. Techniken zur Datenerweiterung
← Zurück zu Python Academy