Začněte nyníZačněte zdarma

Příprava vstupního obrázku

Původní model ResNet50 byl trénovaný na obrázcích o velikosti 224 × 224 pixelů a zahrnoval řadu předzpracovávacích kroků – například odečtení průměrné hodnoty pixelu trénovací sady od všech trénovacích obrázků. Obrázky, na kterých chceš provádět predikce, musíš předzpracovat stejným způsobem.

Při predikci na jediném obrázku je potřeba, aby odpovídal vstupnímu tvaru modelu, který v tomto případě vypadá takto: (batch-size, width, height, channels). Funkce np.expand_dims s parametrem axis = 0 přidá dimenzi batch-size, která říká, že modelu bude předán jediný obrázek. Hodnota této dimenze je 1, protože predikujeme pouze pro jeden obrázek.

Nyní projdeš těmito předzpracovávacími kroky a připravíš obrázek psa jménem Ivy tak, aby ho bylo možné klasifikovat pomocí ResNet50.

Toto cvičení je součástí kurzu

Úvod do hlubokého učení s Keras

Zobrazit kurz

Pokyny k cvičení

  • Importuj image z tensorflow.keras.preprocessing a preprocess_input z tensorflow.keras.applications.resnet50.
  • Načti obrázek se správnou hodnotou target_size pro tvůj model.
  • Převeď ho na pole pomocí image.img_to_array().
  • Předzpracuj img_expanded stejným způsobem, jakým byly zpracovány původní trénovací obrázky ResNet50, pomocí funkce preprocess_input().

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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 = ____(____)
Upravit a spustit kód