Preparación de la imagen de entrada
El modelo ResNet50 original se entrenó con imágenes de tamaño 224 x 224 píxeles y una serie de operaciones de preprocesamiento; como la sustracción del valor medio de píxel en el conjunto de entrenamiento para todas las imágenes de entrenamiento. Es necesario preprocesar de la misma manera las imágenes sobre las que se desea predecir.
Al predecir sobre una sola imagen, es necesario que se ajuste a la forma de entrada del modelo, que en este caso tiene este aspecto:
(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 predecir. Este valor de dimensión de tamaño de lote es 1, ya que sólo estamos prediciendo en una imagen.
Repasará estos pasos de preprocesamiento mientras prepara la imagen de esta perra (llamada Ivy) en una que pueda ser clasificada por ResNet50.

Este ejercicio forma parte del curso
Introducción al aprendizaje profundo con Keras
Instrucciones del ejercicio
- Importa
image
detensorflow.keras.preprocessing
ypreprocess_input
detensorflow.keras.applications.resnet50
. - Cargue la imagen con la dirección
target_size
adecuada para su modelo. - Conviértalo en una matriz con
image.img_to_array()
. - Preprocese
img_expanded
del mismo modo que se procesaron las imágenes de entrenamiento originales de ResNet50 conpreprocess_input()
.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# 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 = ____(____)