Kom igångKom igång gratis

Förbereda din indatabild

Den ursprungliga ResNet50-modellen tränades med bilder av storleken 224 x 224 pixlar och ett antal förbehandlingsåtgärder, till exempel subtraktionen av medelvärdet för pixelvärdena i träningsdatamängden. Du behöver förbehandla de bilder du vill göra prediktioner på på samma sätt.

När du gör en prediktion på en enskild bild behöver den passa modellens indata-form, som i det här fallet ser ut så här: (batch-storlek, bredd, höjd, kanaler). np.expand_dims med parametern axis = 0 lägger till dimensionen för batch-storlek, vilket innebär att en enskild bild skickas till prediktionen. Värdet för den här dimensionen är 1, eftersom vi bara gör en prediktion på en bild.

Du går igenom dessa förbehandlingssteg när du förbereder bilden på hunden Ivy så att den kan klassificeras av ResNet50.

Den här övningen är en del av kursen

Introduktion till djupinlärning med Keras

Visa kurs

Övningsinstruktioner

  • Importera image från tensorflow.keras.preprocessing och preprocess_input från tensorflow.keras.applications.resnet50.
  • Läs in bilden med rätt target_size för din modell.
  • Omvandla den till en array med image.img_to_array().
  • Förbehandla img_expanded på samma sätt som de ursprungliga träningsbilderna i ResNet50 behandlades, med hjälp av preprocess_input().

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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 = ____(____)
Redigera och kör kod