Préparer votre image d’entrée
Le modèle ResNet50 original a été entraîné avec des images de 224 × 224 pixels et plusieurs opérations de prétraitement, comme la soustraction de la valeur moyenne des pixels du jeu d’entraînement pour toutes les images. Vous devez prétraiter de la même manière les images sur lesquelles vous souhaitez faire des prédictions.
Lorsque vous prédisez sur une seule image, elle doit correspondre à la forme d’entrée du modèle, qui ici ressemble à :
(batch-size, width, height, channels). np.expand_dims avec le paramètre axis = 0 ajoute la dimension batch-size, indiquant qu’une seule image sera transmise à la prédiction. Cette valeur de batch-size est 1, puisque nous ne faisons une prédiction que sur une image.
Vous allez suivre ces étapes de prétraitement pour préparer la photo de ce chien (prénommé Ivy) afin qu’elle puisse être classée par ResNet50.
Cet exercice fait partie du cours
Introduction au Deep Learning avec Keras
Instructions
- Importez
imagedepuistensorflow.keras.preprocessingetpreprocess_inputdepuistensorflow.keras.applications.resnet50. - Chargez l’image avec le bon
target_sizepour votre modèle. - Transformez-la en tableau avec
image.img_to_array(). - Prétraitez
img_expandedde la même manière que les images d’entraînement originales de ResNet50 avecpreprocess_input().
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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 = ____(____)