En este tutorial, te guiaré paso a paso para crear tu primer clasificador de imágenes utilizando Python y TensorFlow. TensorFlow es una poderosa biblioteca de código abierto desarrollada por Google para cómputo numérico y aprendizaje automático. Con TensorFlow, podemos construir redes neuronales profundas para realizar tareas como clasificación de imágenes.
Paso 1: Instalar TensorFlow
Lo primero que necesitas hacer es instalar TensorFlow en tu máquina. Puedes instalar TensorFlow usando pip, el administrador de paquetes de Python. Simplemente ejecuta el siguiente comando en tu terminal:
pip install tensorflow
Paso 2: Preparar tus datos
Para este tutorial, utilizaremos un conjunto de datos de flores, que contiene imágenes de flores de diferentes clases. Puedes descargar el conjunto de datos de flores de este enlace. Una vez que hayas descargado y descomprimido el conjunto de datos, asegúrate de tener una estructura de directorios como la siguiente:
flowers_dataset/
class_1/
image1.jpg
image2.jpg
...
class_2/
image1.jpg
image2.jpg
...
...
Paso 3: Crear un modelo de clasificación de imágenes
A continuación, crearemos un modelo de clasificación de imágenes utilizando TensorFlow. Para ello, utilizaremos una red neuronal convolucional (CNN), que es un tipo de red neuronal especialmente diseñada para trabajar con imágenes. A continuación, se muestra un ejemplo de cómo puedes construir un modelo de CNN utilizando TensorFlow:
import tensorflow as tf
from tensorflow.keras import layers, models
model = models.Sequential([
layers.Conv2D(32, (3, 3), activation='relu', input_shape=(150, 150, 3)),
layers.MaxPooling2D((2, 2)),
layers.Conv2D(64, (3, 3), activation='relu'),
layers.MaxPooling2D((2, 2)),
layers.Conv2D(128, (3, 3), activation='relu'),
layers.MaxPooling2D((2, 2)),
layers.Flatten(),
layers.Dense(128, activation='relu'),
layers.Dense(5, activation='softmax')
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
En este código, creamos un modelo de CNN con tres capas de convolución seguidas de capas de pooling y capas densas para la clasificación. Asegúrate de ajustar el tamaño de las imágenes y el número de clases para que coincida con tu conjunto de datos.
Paso 4: Entrenar el modelo
Una vez que hayas construido tu modelo, puedes entrenarlo en tus datos utilizando el método fit
de TensorFlow. Asegúrate de preprocesar tus datos de entrada antes de entrenar el modelo. Aquí tienes un ejemplo de cómo puedes entrenar tu modelo:
from tensorflow.keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator(rescale=1./255)
train_generator = train_datagen.flow_from_directory(
'flowers_dataset',
target_size=(150, 150),
batch_size=32,
class_mode='sparse'
)
model.fit(
train_generator,
epochs=10
)
Este código utiliza un generador de imágenes para preprocesar y cargar imágenes desde el directorio flowers_dataset
. Entrenamos el modelo en el generador durante 10 épocas.
Paso 5: Evaluación del modelo
Una vez que hayas entrenado tu modelo, puedes evaluar su rendimiento en un conjunto de datos de prueba. Puedes hacerlo utilizando el método evaluate
de TensorFlow. Aquí tienes un ejemplo de cómo puedes evaluar tu modelo:
test_datagen = ImageDataGenerator(rescale=1./255)
test_generator = test_datagen.flow_from_directory(
'flowers_dataset',
target_size=(150, 150),
batch_size=32,
class_mode='sparse',
shuffle=False
)
loss, accuracy = model.evaluate(test_generator)
print('Test accuracy:', accuracy)
Conclusión
¡Felicidades! Acabas de crear tu primer clasificador de imágenes con Python y TensorFlow. En este tutorial, aprendiste a cargar y procesar datos de imágenes, construir y entrenar un modelo de clasificación de imágenes con TensorFlow y evaluar su rendimiento en un conjunto de datos de prueba. ¡Ahora estás listo para explorar y expandir tus conocimientos en el fascinante mundo del aprendizaje automático!
Ya tengo cursos!
Aprende a programar desde cero con Python:
https://www.domestika.org/es/courses/5228-introduccion-a-la-programacion-con-python/ringatech
Aprende IA desde cero con Python:
https://www.domestika.org/es/courses/5239-introduccion-a-la-ia-con-python/ringatech
También puedes seguir mi lista de reproducción aquí en Youtube para más videos de IA:
https://youtube.com/playlist?list=PLZ8REt5zt2Pn0vfJjTAPaDVSACDvnuGiG
No me deja descargar el dataset de Pet finder 🙁
Excelente trabajo muchas gracias por el video 👌
Muy guay como lo explicas. Como aprendiste IA, a parte de la universidad alguna recomendación?
Excelente Explicación. Con las redes neuronales podemos resolver el tema de asignación de salones de clase a Docentes en con sus horarios de clases por día?
Está cañona tu didáctica! Mil tnx por el video
lo que quiero saber es que hacer cuando eh un archivo de Kaggle , tengo un archivo comprimido de Images de Retinopatia Diabetica y dentro de la carpeta existen carpetas testing y training . ¿qué hago con ellos? ¿ya no necesito volver a clasificar en Testing y training ?
gracias por el vídeo
Buenas, excelente.
CORRIJO, en el vídeo sobre exportar explicas que hay que añadir un signo de admiración ! al principio de la línea en COLAB para ejecutar un comando para GNU/Linux. No lo había visto pero ciertamente aparece ese símbolo aquí también.
En el minuto 18:30, en la orden para convertir de h5 a js me salía el error:
tensorflowjs_converter –input_format keras modelo_exportado.h5 tfjs_target_dir
^
SyntaxError: invalid syntax
Genio
Que genial 😍¿alguien tiene el video para crear la web?
Qué tipo de pc debe ser para tener una red de 10000 neuronas ?
no entendí bien como es que la función pasa de 255 a 0 y 1
Gracias, me animaste a seguir aprediendo
😁 Cada vez que veo tu video siempre termino aclarando alguna duda, gracias bro….
Ya pasó un año desde este video, pero aún te doy las gracias por compartir esto, haces que ver estos temas emocione
Buenas, gran video! ¿Cuál es la herramienta que usas para la visualizacion de el aprendizaje automático? Gracias!
Gran pero gran PROFE Ringa Tech. Algo complejo explicado de la manera mas simple! Genio total
muy bueno el video!!