EmpezarEmpieza gratis

Preparar tu imagen de entrada

El modelo ResNet50 original se entrenó con imágenes de 224 x 224 píxeles y varias operaciones de preprocesado, como la resta del valor medio de píxel del conjunto de entrenamiento para todas las imágenes. Tienes que preprocesar del mismo modo las imágenes sobre las que quieras predecir.

Al predecir con una sola imagen, esta debe ajustarse a la forma de entrada del modelo, que en este caso es: (batch-size, width, height, channels). np.expand_dims con el parámetro axis = 0 añade la dimensión batch-size, que representa que se pasará una sola imagen a predict. El valor de esta dimensión batch-size es 1, ya que solo estamos prediciendo sobre una imagen.

Seguirás estos pasos de preprocesado para preparar la imagen de este perro (se llama Ivy) y dejarla lista para que ResNet50 pueda clasificarla.

Este ejercicio forma parte del curso

Introducción al Deep Learning con Keras

Ver curso

Instrucciones del ejercicio

  • Importa image de tensorflow.keras.preprocessing y preprocess_input de tensorflow.keras.applications.resnet50.
  • Carga la imagen con el target_size adecuado para tu modelo.
  • Convierte la imagen a un array con image.img_to_array().
  • Preprocesa img_expanded del mismo modo que las imágenes de entrenamiento originales de ResNet50 con preprocess_input().

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# Import image and preprocess_input
from tensorflow.keras.____ import ____
from tensorflow.keras.____.____ import ____

# Load the image with the right target size for your model
img = image.load_img(img_path, target_size=(____, ____))

# Turn it into an array
img_array = image.____(____)

# Expand the dimensions of the image, this is so that it fits the expected model input format
img_expanded = np.expand_dims(img_array, axis = 0)

# Pre-process the img in the same way original images were
img_ready = ____(____)
Editar y ejecutar código