Aan de slagGa gratis aan de slag

Je invoerafbeelding voorbereiden

Het originele ResNet50-model is getraind met afbeeldingen van 224 x 224 pixels en een aantal preprocessing-bewerkingen; zoals het aftrekken van de gemiddelde pixelwaarde in de trainingsset voor alle trainingsafbeeldingen. Je moet de afbeeldingen waarop je wilt voorspellen op dezelfde manier voorbewerken.

Als je op één afbeelding voorspelt, moet die passen bij de inputvorm van het model, die er in dit geval zo uitziet: (batch-size, width, height, channels). np.expand_dims met parameter axis = 0 voegt de batch-size-dimensie toe, wat aangeeft dat er één afbeelding naar predict wordt doorgestuurd. Deze batch-size-waarde is 1, omdat we maar op één afbeelding voorspellen.

Je doorloopt deze preprocessing-stappen terwijl je de afbeelding van deze hond (Ivy) voorbereidt zodat ResNet50 haar kan classificeren.

Deze oefening maakt deel uit van de cursus

Introductie tot Deep Learning met Keras

Cursus bekijken

Oefeninstructies

  • Importeer image uit tensorflow.keras.preprocessing en preprocess_input uit tensorflow.keras.applications.resnet50.
  • Laad de afbeelding met de juiste target_size voor je model.
  • Zet hem om naar een array met image.img_to_array().
  • Voorverwerk img_expanded op dezelfde manier als de originele ResNet50-trainingsafbeeldingen met preprocess_input().

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 = ____(____)
Code bewerken en uitvoeren