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.

Image, do PIL, já foi importado para você.
Este exercício faz parte do curso
Deep Learning para Imagens com PyTorch
Instruções do exercício
- Instancie
UNet()em uma variável chamadamodel. - Carregue a imagem em
car.jpgem uma variável chamadaimage. - 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()