Ejecución de la segmentación semántica
¡Buen trabajo diseñando la U-Net! Encontrarás un modelo ya preentrenado muy similar al que acabas de crear. Este modelo se ha entrenado con un amplio conjunto de imágenes y contiene algunas pequeñas adiciones a la arquitectura, como las capas de normalización por lotes.
Puedes instanciar el modelo como un UNet()
, que proporcionará al modelo los pesos preentrenados. Tu tarea consiste en utilizarlo para crear máscaras de segmentación para la siguiente imagen de un coche.
Image
de PIL
ya se ha importado por ti.
Este ejercicio forma parte del curso
Aprendizaje profundo para imágenes con PyTorch
Instrucciones del ejercicio
- Instancia
UNet()
en una variable llamadamodel
. - Carga la imagen en
car.jpg
en una variable llamadaimage
. - Genera máscaras de segmentación pasando la imagen al modelo y aplicando la función «
squeeze(0)
».
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# 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()