Progetto di classificazione delle immagini
Impari a creare un modello CNN di base.
Progetto di classificazione delle immagini è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 4 di 5. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 5 lezioni in totale.
Progetto di classificazione delle immagini
In questo progetto realizzeremo una CNN semplice per classificare le immagini in categorie. La classificazione delle immagini consiste nel prevedere la categoria o l'etichetta di un'immagine di input.

Dataset per la classificazione
Utilizzeremo il dataset CIFAR-10, che contiene 60.000 immagini suddivise in 10 categorie, tra cui aeroplani, automobili, uccelli e gatti. Ogni immagine misura 32×32 pixel e dispone di 3 canali di colore (RGB).
Caricamento del dataset
Caricheremo il dataset CIFAR-10 usando 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)Creazione del modello CNN
Definiremo un'architettura CNN con livelli convoluzionali, di pooling e completamente connessi:
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')
])Compilazione del modello
Compiliamo il modello con:
- Funzione di perdita: entropia incrociata categoriale per la classificazione multiclasse.
- Ottimizzatore: ottimizzatore Adam per un apprendimento efficiente.
- Metriche: accuratezza per valutare le prestazioni.
# Compile the model
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])Addestrare il modello
Addestriamo il modello utilizzando i dati di addestramento per 10 epoche. Durante l'addestramento, il modello impara a classificare le immagini in categorie.
# Train the model
model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test))Valutazione del modello
Dopo l'addestramento, valutiamo il modello sui dati di test per verificarne l'accuratezza:
# Evaluate the model
loss, accuracy = model.evaluate(x_test, y_test)
print(f"Test Accuracy: {accuracy * 100:.2f}%")Esecuzione delle previsioni
È possibile usare il modello addestrato per fare previsioni su nuove immagini:
# 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]}")Sfide nella classificazione delle immagini
Le sfide più comuni includono:
- Overfitting: il modello funziona bene sui dati di addestramento, ma male sui nuovi dati.
- Sbilanciamento delle classi: rappresentazione non uniforme delle categorie nel dataset.
- Costo computazionale: l'addestramento di reti profonde richiede risorse considerevoli.
Riepilogo e passaggi successivi
In questo progetto abbiamo:
- Creato e addestrato una CNN per la classificazione delle immagini usando il dataset CIFAR-10.
- Imparato a caricare, preprocessare e valutare il dataset.
- Discusso le sfide delle attività di classificazione delle immagini.
Successivamente esploreremo tecniche di data augmentation per migliorare le prestazioni del modello generando variazioni delle immagini di addestramento.

Impara Python con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 53
- Lezioni
- 225
Domande Frequenti
La lezione «Progetto di classificazione delle immagini» è gratuita?
Sì — il testo completo di «Progetto di classificazione delle immagini» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 5 lezioni in totale.
Cosa imparerò in «Progetto di classificazione delle immagini»?
Impari a creare un modello CNN di base. Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Learn AI with Python?
Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 5.
Quanto tempo richiede la lezione «Progetto di classificazione delle immagini»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?
Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Che cos'è un'immagine digitale?
- Elaborazione delle immagini con OpenCV
- Reti neurali convoluzionali (CNN)
- Progetto di classificazione delle immagini
- Tecniche di data augmentation