Proyecto de clasificación de imágenes
Creación de un modelo CNN básico.
Proyecto de clasificación de imágenes es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 4 de 5. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 5 lecciones en total.
Proyecto de clasificación de imágenes
Proyecto de clasificación de imágenes
En este proyecto, crearemos una CNN sencilla para clasificar imágenes en distintas categorías. La clasificación de imágenes consiste en predecir la categoría o etiqueta de una imagen de entrada.

Conjunto de datos para la clasificación
Conjunto de datos para la clasificación
Utilizaremos el conjunto de datos CIFAR-10, que consta de 60.000 imágenes distribuidas en 10 categorías, como aviones, automóviles, aves y gatos. Cada imagen tiene 32×32 píxeles y 3 canales de color (RGB).
Carga del conjunto de datos
Carga del conjunto de datos
Cargaremos el conjunto de datos CIFAR-10 mediante 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)Construcción del modelo CNN
Construcción del modelo CNN
Definiremos una arquitectura CNN con capas convolucionales, de pooling y totalmente conectadas:
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')
])Compilación del modelo
Compilación del modelo
Compilamos el modelo con:
- Función de pérdida: Entropía cruzada categórica para la clasificación multiclase.
- Optimizador: Optimizador Adam para un aprendizaje eficiente.
- Métricas: Exactitud para evaluar el rendimiento.
# Compile the model
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])Entrenamiento del modelo
Entrenamiento del modelo
Entrenamos el modelo con los datos de entrenamiento durante 10 épocas. Durante el entrenamiento, el modelo aprende a clasificar imágenes en distintas categorías.
# Train the model
model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test))Evaluación del modelo
Evaluación del modelo
Después del entrenamiento, evaluamos el modelo con los datos de prueba para comprobar su precisión:
# Evaluate the model
loss, accuracy = model.evaluate(x_test, y_test)
print(f"Test Accuracy: {accuracy * 100:.2f}%")Realización de predicciones
Realización de predicciones
Podemos utilizar el modelo entrenado para realizar predicciones sobre imágenes nuevas:
# 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]}")Desafíos de la clasificación de imágenes
Desafíos de la clasificación de imágenes
Entre los desafíos habituales se incluyen:
- Sobreajuste: El modelo funciona bien con los datos de entrenamiento, pero mal con datos nuevos.
- Desequilibrio de clases: Representación desigual de las categorías en el conjunto de datos.
- Coste computacional: Entrenar redes profundas requiere muchos recursos.
Resumen y próximos pasos
Resumen y próximos pasos
En este proyecto:
- Crearemos y entrenaremos una CNN para la clasificación de imágenes mediante el conjunto de datos CIFAR-10.
- Aprendimos a cargar, preprocesar y evaluar el conjunto de datos.
- Analizamos los desafíos de las tareas de clasificación de imágenes.
A continuación, exploraremos técnicas de aumento de datos para mejorar el rendimiento del modelo mediante la generación de variaciones de las imágenes de entrenamiento.

Preguntas frecuentes
¿La lección «Proyecto de clasificación de imágenes» es gratis?
Sí — el texto completo de «Proyecto de clasificación de imágenes» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 5 lecciones en total.
¿Qué aprenderé en «Proyecto de clasificación de imágenes»?
Creación de un modelo CNN básico. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Learn AI with Python?
No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 5.
¿Cuánto tiempo toma la lección «Proyecto de clasificación de imágenes»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?
Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- ¿Qué son los datos de imagen?
- Procesamiento de imágenes con OpenCV
- Redes neuronales convolucionales (CNN)
- Proyecto de clasificación de imágenes
- Técnicas de aumento de datos