Preparando sua imagem de entrada
O modelo ResNet50 original foi treinado com imagens de 224 x 224 pixels e passou por algumas etapas de pré-processamento; como a subtração do valor médio de pixel do conjunto de treinamento para todas as imagens. Você precisa pré-processar, da mesma forma, as imagens nas quais deseja fazer previsões.
Ao prever usando uma única imagem, ela precisa se ajustar ao formato de entrada do modelo, que neste caso é:
(batch-size, width, height, channels). O np.expand_dims com o parâmetro axis = 0 adiciona a dimensão de batch-size, indicando que uma única imagem será passada para o método de predição. Esse valor de batch-size é 1, já que estamos prevendo apenas uma imagem.
Você vai seguir essas etapas de pré-processamento ao preparar a imagem deste cachorro (chamado Ivy) para que possa ser classificada pelo ResNet50.
Este exercício faz parte do curso
Introdução ao Deep Learning com Keras
Instruções do exercício
- Importe
imagedetensorflow.keras.preprocessingepreprocess_inputdetensorflow.keras.applications.resnet50. - Carregue a imagem com o
target_sizecorreto para o seu modelo. - Transforme-a em um array com
image.img_to_array(). - Faça o pré-processamento de
img_expandeddo mesmo jeito que as imagens de treino originais do ResNet50 compreprocess_input().
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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 = ____(____)