Projekt: Bildklassificering
Bygg en grundläggande CNN-modell.
Projekt: Bildklassificering är en gratis lektion i Lär Er AI med Python på CoddyKit. Detta är lektion 4 av 5. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Lär Er AI med Python, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Lär Er AI med Python innehåller totalt 5 lektioner.
Bildklassificeringsprojekt
I det här projektet bygger vi ett enkelt CNN för att klassificera bilder i olika kategorier. Bildklassificering innebär att förutsäga kategorin eller etiketten för en inmatad bild.

Dataset för klassificering
Vi använder datasetet CIFAR-10, som består av 60 000 bilder i 10 kategorier, till exempel flygplan, bilar, fåglar och katter. Varje bild är 32×32 pixlar och har 3 färgkanaler (RGB).
Läsa in datamängden
Vi läser in CIFAR-10-datamängden med 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)Bygga CNN-modellen
Vi definierar en CNN-arkitektur med konvolutionslager, poolningslager och fullt anslutna lager:
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')
])Kompilera modellen
Vi kompilerar modellen med:
- Förlustfunktion: Kategorisk korsentropi för klassificering med flera klasser.
- Optimerare: Adam-optimeraren för effektiv inlärning.
- Mått: Noggrannhet för att utvärdera prestandan.
# Compile the model
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])Träna modellen
Vi tränar modellen med träningsdata under 10 epoker. Under träningen lär sig modellen att klassificera bilder i olika kategorier.
# Train the model
model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test))Utvärdera modellen
Efter träningen utvärderar vi modellen med testdata för att kontrollera dess träffsäkerhet:
# Evaluate the model
loss, accuracy = model.evaluate(x_test, y_test)
print(f"Test Accuracy: {accuracy * 100:.2f}%")Göra förutsägelser
Vi kan använda den tränade modellen för att göra förutsägelser på nya bilder:
# 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]}")Utmaningar med bildklassificering
Vanliga utmaningar är:
- Överanpassning: Modellen presterar bra på träningsdata men dåligt på nya data.
- Klassobalans: Ojämn representation av kategorier i datamängden.
- Beräkningskostnad: Träning av djupa nätverk kräver betydande resurser.
Sammanfattning och nästa steg
I det här projektet har vi:
- Byggt och tränat en CNN för bildklassificering med datamängden CIFAR-10.
- Lärt oss att läsa in, förbehandla och utvärdera datamängden.
- Diskuterat utmaningar inom bildklassificering.
Härnäst utforskar vi tekniker för dataaugmentering för att förbättra modellens prestanda genom att generera variationer av träningsbilderna.

Lär dig Python med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 53
- Lektioner
- 225
Vanliga frågor
Är lektionen ”Projekt: Bildklassificering” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Lär Er AI med Python, inklusive ”Projekt: Bildklassificering”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Lär Er AI med Python innehåller totalt 5 lektioner.
Vad lär jag mig i ”Projekt: Bildklassificering”?
Bygg en grundläggande CNN-modell. Ni övar på Lär Er AI med Python med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Lär Er AI med Python?
Du behöver inga förkunskaper. Utbildningen i Lär Er AI med Python på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 5.
Hur lång tid tar lektionen ”Projekt: Bildklassificering”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Lär Er AI med Python-lektionen?
Ja. Varje Lär Er AI med Python-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Vad är bilddata?
- Bildbehandling med OpenCV
- Konvolutionella neurala nätverk (CNN)
- Projekt: Bildklassificering
- Tekniker för dataaugmentation