Préparer votre image d'entrée
Le modèle ResNet50 original a été entraîné avec des images de 224 x 224 pixels et plusieurs étapes de prétraitement, comme la soustraction de la valeur moyenne des pixels du jeu d'entraînement pour toutes les images d'entraînement. Vous devez prétraiter de la même façon les images sur lesquelles vous voulez faire des prédictions.
Quand vous prédisez à partir d'une seule image, elle doit respecter la forme d'entrée du modèle, qui dans ce cas ressemble à ceci :
(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 à predict. La valeur de cette dimension batch-size est 1, puisque nous ne prédirons que sur une image.
Vous parcourrez ces étapes de prétraitement pour transformer la photo de ce chien (nommé Ivy) en une image qui peut être classée par ResNet50.
Cette activité fait partie du cours
Introduction à Deep Learning avec Keras
Instructions de l’exercice
- Importez
imagedepuistensorflow.keras.preprocessingetpreprocess_inputdepuistensorflow.keras.applications.resnet50. - Chargez l'image avec le bon
target_sizepour votre modèle. - Convertissez-la en tableau avec
image.img_to_array(). - Prétraitez
img_expandedde la même manière que les images d'entraînement de ResNet50 original avecpreprocess_input().
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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 = ____(____)