Projekt: bildklassificering
Bygg en grundläggande CNN-modell.
Projekt: bildklassificering är en gratis lektion i Python Academy på CoddyKit. Detta är lektion 4 av 5. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Python Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Python Academy innehåller totalt 5 lektioner.
Projekt för bildklassificering
I det här projektet bygger vi ett enkelt CNN för att klassificera bilder i kategorier. Bildklassificering innebär att förutsäga kategorin eller etiketten för en inmatad bild.

Datauppsättning för klassificering
Vi använder datauppsättningen 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 stor och har 3 färgkanaler (RGB).
Läsa in datauppsättningen
Vi läser in datauppsättningen CIFAR-10 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, poolinglager 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 i flera klasser.
- Optimerare: Optimeraren Adam för effektiv inlärning.
- Mätvärden: 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 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 på testdata för att kontrollera dess noggrannhet:
# 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 inom bildklassificering
Vanliga utmaningar är:
- Överanpassning: Modellen presterar bra på träningsdata men dåligt på nya data.
- Klassobalans: Ojämn representation av kategorierna i datauppsättningen.
- Beräkningskostnad: Träning av djupa nätverk kräver betydande resurser.
Sammanfattning och nästa steg
I det här projektet:
- Byggde och tränade vi ett CNN för bildklassificering med datauppsättningen CIFAR-10.
- Lärde vi oss att läsa in, förbehandla och utvärdera datauppsättningen.
- Diskuterade vi utmaningar inom bildklassificering.
Härnäst utforskar vi tekniker för dataaugmentering för att förbättra modellens prestanda genom att generera varianter av träningsbilder.

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
- 76
- Lektioner
- 320
Vanliga frågor
Är lektionen ”Projekt: bildklassificering” gratis?
Ja – hela texten till ”Projekt: bildklassificering” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Python Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Python Academy innehåller totalt 5 lektioner.
Vad lär jag mig i ”Projekt: bildklassificering”?
Bygg en grundläggande CNN-modell. Ni övar på Python Academy 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 Python Academy?
Du behöver inga förkunskaper. Utbildningen i Python Academy 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 Python Academy-lektionen?
Ja. Varje Python Academy-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 dataaugmentering