Prosjekt for bildeklassifisering
Bygg en grunnleggende CNN-modell
Prosjekt for bildeklassifisering er en gratis leksjon i Python Academy på CoddyKit. Dette er leksjon 4 av 5. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Python Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Python Academy inneholder totalt 5 leksjoner.
Bildeklassifiseringsprosjekt
I dette prosjektet skal vi bygge et enkelt CNN for å klassifisere bilder i kategorier. Bildeklassifisering innebærer å forutsi kategorien eller etiketten til et inndatabilde.

Datasett for klassifisering
Vi skal bruke datasettet CIFAR-10, som består av 60 000 bilder fordelt på 10 kategorier, for eksempel fly, biler, fugler og katter. Hvert bilde er på 32×32 piksler og har 3 fargekanaler (RGB).
Laste inn datasettet
Vi skal laste inn datasettet CIFAR-10 ved hjelp av 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)Bygge CNN-modellen
Vi skal definere en CNN-arkitektur med konvolusjonslag, poolinglag og fullt tilkoblede lag:
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')
])Kompilere modellen
Vi kompilerer modellen med:
- Tapsfunksjon: Kategorisk kryssentropi for flerklasseklassifisering.
- Optimaliserer: Adam-optimalisereren for effektiv læring.
- Måltall: Nøyaktighet for å evaluere ytelsen.
# Compile the model
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])Trene modellen
Vi trener modellen med treningsdataene i 10 epoker. Under treningen lærer modellen å klassifisere bilder i kategorier.
# Train the model
model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test))Evaluere modellen
Etter treningen evaluerer vi modellen med testdataene for å kontrollere nøyaktigheten:
# Evaluate the model
loss, accuracy = model.evaluate(x_test, y_test)
print(f"Test Accuracy: {accuracy * 100:.2f}%")Generere prediksjoner
Vi kan bruke den trente modellen til å generere prediksjoner for nye 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]}")Utfordringer ved bildeklassifisering
Vanlige utfordringer omfatter:
- Overtilpasning: Modellen fungerer godt på treningsdataene, men dårlig på nye data.
- Ubalanse mellom klasser: Kategoriene er ulikt representert i datasettet.
- Beregningskostnad: Trening av dype nettverk krever betydelige ressurser.
Oppsummering og neste trinn
I dette prosjektet har vi:
- Bygget og trent et CNN for bildeklassifisering ved hjelp av datasettet CIFAR-10.
- Lært å laste inn, forhåndsbehandle og evaluere datasettet.
- Sett på utfordringer ved bildeklassifiseringsoppgaver.
Deretter skal vi utforske teknikker for dataaugmentering for å forbedre modellens ytelse ved å generere variasjoner av treningsbildene.

Lær deg Python med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 76
- Leksjoner
- 320
Ofte stilte spørsmål
Er leksjonen «Prosjekt for bildeklassifisering» gratis?
Ja – hele teksten i «Prosjekt for bildeklassifisering» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Python Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Python Academy inneholder totalt 5 leksjoner.
Hva lærer jeg i «Prosjekt for bildeklassifisering»?
Bygg en grunnleggende CNN-modell Du øver på Python Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Python Academy?
Ingen tidligere erfaring er nødvendig. Python Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 5.
Hvor lang tid tar leksjonen «Prosjekt for bildeklassifisering»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Python Academy-leksjonen?
Ja. Alle Python Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Hva er bildedata?
- Bildebehandling med OpenCV
- Konvolusjonelle nevrale nettverk (CNN)
- Prosjekt for bildeklassifisering
- Teknikker for dataaugmentering