Executando segmentação semântica
Boa ideia criar a U-Net! Você vai encontrar um modelo já pré-treinado bem parecido com o que acabou de criar. Esse modelo foi treinado com um monte de imagens e tem algumas coisinhas a mais na arquitetura, tipo as camadas de normalização de lote.
Você pode instanciar o modelo como um UNet()
, que vai dar ao modelo os pesos pré-treinados. A sua tarefa é usar isso pra criar máscaras de segmentação pra imagem de um carro que tá aqui embaixo.
Image
de PIL
já foi importado pra você.
Este exercício faz parte do curso
Aprendizado profundo para imagens com PyTorch
Instruções do exercício
- Instancie
UNet()
em uma variável chamadamodel
. - Carregue a imagem em
car.jpg
para uma variável chamadaimage
. - Crie máscaras de segmentação passando a imagem pro modelo e usando o comando “
squeeze(0)
”.
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()