Keras nos ofrece una serie de datasets predeterminados con los cuales alimentar modelos, estas bases de datos son ideales para probar el rendimiento de diferentes algoritmos de machine learning porque sus datos se encuentran bastante limpios y listos para ser digeridos.
En la documentación oficial de Keras puedes encontrar los datasets disponibles, para esta ocasión trabajaremos con CIFAR100, un dataset de 60.000 imágenes de 100 clases diferentes relacionadas a objetos del mundo como vehículos, animales y demás.
Puedes leer la estructura básica y un quickstart de uso en la documentación, si quieres más detalle, puede ir a la página oficial del dataset donde tendrás acceso a información más específica.
Descargando y manipulando Keras datasets
Importaremos los módulos a trabajar, donde el protagonista será TensorFlow.
import tensorflow as tf
import numpy as np
%matplotlib inline
import matplotlib.pyplotas plt
Para extraer el dataset, haremos uso del módulo de datasets de Keras (que viene incluido en TensorFlow).
from tensorflow.keras.datasetsimport cifar100
Cargaremos el dataset con la función load_data y será almacenada en 2 tuplas relacionadas a los datos de entrenamiento (que serán 50.000) y los datos de prueba (los 10.000 restantes).
Si verificamos las dimensiones del set de entrenamiento, obtendremos en x un conjunto de 50.000 imágenes de 32x32 en 3 canales RGB, mientras que las etiquetas serán un array de 50.000 elementos del 0 al 99.
Generalmente las etiquetas son guardadas en sesiones diferentes, es decir, externamente existe un diccionario de “traducción” de estos valores a su homólogo real. Para obtener esta traducción, haremos su descarga desde un repositorio externo.
No entiendo, ¿Él sabía qué número corresponde a snake en labels? Porque aunque 78 y 40 es lógicamente diferente, hizo coincidir la imagen con su etiqueta. La verdad quedé perdido.
Hola Robert, un placer saludarte.
En ese caso tome un id aleatorio e imprime el label y la imagen para mostrar un ejemplo de la base de datos. El numero corresponsa a la posición de la imagen y del label.
Me cuentas si es claro,
saludos
yo cargue un dog
Para el reto cargue la BD fashion_mnist
No parece mucho pero es una camisa jejej
Por si a alguien no le sale la importacion de keras, la siguiente puede ser una alternativa:
from tensorflow importkeras(x_train, y_train),(x_test, y_test)= tf.keras.datasets.cifar100.load_data()
plt.imshow(x_train[0])# Changed'srt' to 'str' to convert the integer to a string.title_string="This is the number {}".format(y_train[0])plt.title(title_string) # Added title to the plot
plt.show()```
Interesante tarea:
Y este fue el resultado:
Conjuntos de datos de Keras: una poderosa herramienta para el aprendizaje profundo
Keras, un popular marco de aprendizaje profundo creado sobre TensorFlow, proporciona una manera conveniente de acceder y utilizar varios conjuntos de datos para entrenar y evaluar sus modelos. Estos conjuntos de datos están preprocesados y listos para usarse con el mínimo esfuerzo, lo que le permite ahorrar tiempo y recursos valiosos.
Conjuntos de datos integrados:
Keras ofrece un puñado de conjuntos de datos integrados, también conocidos como conjuntos de datos de juguete, que son pequeños y adecuados para principiantes o experimentación rápida. Estos conjuntos de datos se utilizan normalmente para tareas como clasificación o regresión de imágenes. Algunos ejemplos populares incluyen:
MNIST
Este conjunto de datos clásico consta de dígitos escritos a mano (0-9) en varios tamaños y orientaciones. Es un excelente punto de partida para los problemas de clasificación de imágenes.
CIFAR-10
Conjunto de datos de pequeñas imágenes en color que pertenecen a 10 clases diferentes (p. ej., aviones, automóviles, perros). Es un poco más complejo que MNIST y se utiliza a menudo para la clasificación de imágenes con redes neuronales convolucionales (CNN).
CIFAR-100
Una versión extendida de CIFAR-10 con 100 clases de objetos, que proporciona una tarea de clasificación más desafiante.
Boston Housing
Conjunto de datos que contiene información sobre casas en Boston, Massachusetts. Se utiliza habitualmente para tareas de regresión, como predecir los precios de la vivienda.
Hola!!
En mi caso usando Fashión MNIST obtuve esta imagen:
Utilice la base de datos de fashion_mnist y obtuve un bolso
from tensorflow.keras.datasets import fashion_mnist
(x_train, y_train),(x_test, y_test)= fashion_mnist.load_data()
Pueden ocupar la función squeeze para quitarle una dimensión a y_train. Ya que y_train[40] devuelve un [40] y queremos solo el numero para luego buscarlo en el json
print(y_train[40].squeeze(0))-> devuelve 40 en vez de [40]print(cifar100_labels[y_train[40].squeeze(0)])-> ocupamos ese indice dentro del json
MNIST digits classification :)
La importancia de cargar %matplotlib inline para contar con todos los beneficios de Matplot en Colab antes de cargar la librería
%matplotlib inline
import matplotlib.pyplot as plt
Mas facil :
import pandas as pd
jso=pd.read_json("https://storage.googleapis.com/platzi-tf2/cifar100_labels.json")jso[0][78]
#desacargamos la subclase.
(x_train,y_train),(x_text,y_test) = tf.keras.datasets.
cifar100.load_data(label_mode="fine")