LoslegenKostenlos starten

Dein Eingabebild vorbereiten

Das ursprüngliche ResNet50-Modell wurde mit Bildern der Größe 224 × 224 Pixel und mehreren Vorverarbeitungsschritten trainiert; zum Beispiel dem Abziehen des mittleren Pixelwerts des Trainingssatzes für alle Trainingsbilder. Du musst die Bilder, auf denen du vorhersagen willst, auf die gleiche Weise vorverarbeiten.

Wenn du auf einem einzelnen Bild vorhersagst, muss es zur Eingabeform des Modells passen, die in diesem Fall so aussieht: (batch-size, width, height, channels). np.expand_dims mit dem Parameter axis = 0 fügt die batch-size-Dimension hinzu und gibt an, dass ein einzelnes Bild zur Vorhersage übergeben wird. Dieser batch-size-Wert ist 1, da wir nur auf einem Bild vorhersagen.

Du gehst diese Vorverarbeitungsschritte durch, während du das Bild dieses Hundes (Name: Ivy) so vorbereitest, dass es von ResNet50 klassifiziert werden kann.

Diese Übung ist Teil des Kurses

<Kurs>Einstieg ins Deep Learning mit Keras</Kurs>
Kurs ansehen

Übungsanweisungen

  • Importiere image aus tensorflow.keras.preprocessing und preprocess_input aus tensorflow.keras.applications.resnet50.
  • Lade das Bild mit der passenden target_size für dein Modell.
  • Wandle es mit image.img_to_array() in ein Array um.
  • Verarbeite img_expanded mit preprocess_input() genauso vor wie die ursprünglichen ResNet50-Trainingsbilder.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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 bearbeiten und ausführen