ПочатиПочніть безкоштовно

Підготовка вхідного зображення

Початкова модель ResNet50 була натренована на зображеннях розміру 224 x 224 пікселі та з низкою операцій попередньої обробки; зокрема відніманням середнього значення пікселя в тренувальній вибірці для всіх тренувальних зображень. Вам потрібно так само попередньо обробляти зображення, для яких ви хочете робити передбачення.

Коли ви робите передбачення для одного зображення, воно має відповідати формі вхідних даних моделі, яка в цьому випадку виглядає так: (batch-size, width, height, channels). np.expand_dims з параметром axis = 0 додає вимір batch-size, що позначає, що до predict буде передано одне зображення. Значення цього виміру дорівнює 1, адже ми робимо передбачення лише для одного зображення.

Ви виконаєте ці кроки попередньої обробки, готуючи зображення собаки (на імʼя Ivy) до класифікації за допомогою ResNet50.

Ця вправа є частиною курсу

Вступ до Deep Learning з Keras

Переглянути курс

Інструкції до вправи

  • Імпортуйте image з tensorflow.keras.preprocessing і preprocess_input з tensorflow.keras.applications.resnet50.
  • Завантажте зображення з відповідним для вашої моделі target_size.
  • Перетворіть його на масив за допомогою image.img_to_array().
  • Виконайте попередню обробку img_expanded так само, як оброблялися тренувальні зображення для ResNet50, використавши preprocess_input().

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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 = ____(____)
Редагувати та запускати код