ComeçarComece de graça

Executando segmentação semântica

Bom trabalho ao projetar a U-Net! Você terá à disposição um modelo já pré-treinado, muito parecido com o que acabou de construir. Esse modelo foi treinado em um grande conjunto de imagens e inclui algumas pequenas adições à arquitetura, como camadas de batch norm.

Você pode instanciar o modelo com UNet(), o que fornecerá os pesos pré-treinados. Sua tarefa é usá-lo para gerar máscaras de segmentação para a imagem de um carro a seguir.

car image

Image, do PIL, já foi importado para você.

Este exercício faz parte do curso

Deep Learning para Imagens com PyTorch

Ver curso

Instruções do exercício

  • Instancie UNet() em uma variável chamada model.
  • Carregue a imagem em car.jpg em uma variável chamada image.
  • Gere máscaras de segmentação passando a imagem para o modelo e aplicando squeeze(0) na saída.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Load model
model = ____
model.eval()

# Load and transform image
image = ____
transform = transforms.Compose([transforms.ToTensor()])
image_tensor = transform(image).unsqueeze(0)

# Predict segmentation mask
with torch.no_grad():
    prediction = ____

# Display mask
plt.imshow(prediction[1, :, :])
plt.show()
Editar e executar o código