Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
2
respostas

Faça como eu fiz: identificando objetos com MobileNetV2

Primeiro, carreguei o modelo pré treinado e importei as bibliotecas necessárias.

import tensorflow as tf

from tensorflow.keras.applications.mobilenet_v2 import (
    MobileNetV2,
    preprocess_input,
    decode_predictions
)

from tensorflow.keras.preprocessing import image

import numpy as np

# Carregar o modelo
modelo = MobileNetV2(
    weights="imagenet"
)

Depois, carreguei a imagem e realizei o pré processamento.

# Carregar a imagem
img = image.load_img(
    "imagem.jpg",
    target_size=(224, 224)
)

# Converter para array
img_array = image.img_to_array(img)

# Ajustar o formato
img_array = np.expand_dims(
    img_array,
    axis=0
)

# Pré processar a imagem
img_array = preprocess_input(
    img_array
)

Em seguida, utilizei o modelo para fazer a previsão.

# Realizar a classificação
previsao = modelo.predict(
    img_array
)

# Exibir o resultado
resultado = decode_predictions(
    previsao,
    top=1
)

print(resultado)
2 respostas

Olá, Estudante! Como vai?

Parabéns pela resolução da atividade!

Vi que você explorou o MobileNetV2 para classificação com Python, utilizou muito bem o pré-processamento de imagens para adequação e ainda compreendeu a importância da decodificação das previsões para interpretação dos resultados.

Uma dica interessante para o futuro é testar diferentes valores de top no decode_predictions para visualizar mais opções de classes previstas. Assim:

resultado = decode_predictions(previsao, top=3)
print(resultado)

Isso mostra as três classes mais prováveis, permitindo uma análise mais rica.

Se quiser aprofundar ainda mais, algumas boas práticas são:

  • Ajustar o tamanho da imagem: sempre compatível com o modelo escolhido.
  • Normalizar os dados: garante que os valores estejam na escala correta para a rede.
  • Explorar diferentes arquiteturas: comparar MobileNetV2 com outras redes como ResNet ou Inception.

Ah, uma pergunta: você prefere analisar várias classes previstas para entender melhor o comportamento do modelo ou acha mais útil focar apenas na classe mais provável?

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!
solução!

Obrigado pelo feedback e pelas dicas.