開始使用免費開始

執行語意分割

U-Net 設計得很好!現在你可以使用一個和你剛剛建立的模型非常相似、且已經預先訓練好的模型。這個模型在大量影像上完成訓練,並在架構中加入了一些小幅度的改動,例如 batch norm 層。

你可以用 UNet() 來建立這個模型,它會自動載入預先訓練的權重。你的任務是用它為下面這張汽車影像產生分割遮罩。

car image

PIL 中的 Image 已為你匯入。

本練習屬於課程

使用 PyTorch 進行影像深度學習

檢視課程

練習說明

  • 在名為 model 的變數中建立 UNet()
  • car.jpg 這張影像載入到名為 image 的變數。
  • 將影像傳入模型並對輸出套用 squeeze(0),以產生分割遮罩。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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()
編輯並執行程式碼