始める無料で始める

セマンティックセグメンテーションを実行する

U-Net の設計、お見事です! ここでは、みなさんが作成したものと非常によく似た、すでに学習済みのモデルが用意されています。このモデルは大量の画像で学習されており、バッチ正規化層などアーキテクチャにいくつか小さな追加が含まれます。

このモデルは UNet() としてインスタンス化でき、学習済みの重みが読み込まれます。みなさんのタスクは、これを使って以下の車の画像に対するセグメンテーションマスクを生成することです。

car image

PILImage はすでにインポート済みです。

この演習はコースの一部です

PyTorch で学ぶ画像向け Deep Learning

コースを見る

演習の手順

  • 変数 modelUNet() をインスタンス化します。
  • 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()
コードを編集して実行