セマンティックセグメンテーションを実行する
U-Net の設計、お見事です! ここでは、みなさんが作成したものと非常によく似た、すでに学習済みのモデルが用意されています。このモデルは大量の画像で学習されており、バッチ正規化層などアーキテクチャにいくつか小さな追加が含まれます。
このモデルは UNet() としてインスタンス化でき、学習済みの重みが読み込まれます。みなさんのタスクは、これを使って以下の車の画像に対するセグメンテーションマスクを生成することです。

PIL の Image はすでにインポート済みです。
この演習はコースの一部です
PyTorch で学ぶ画像向け Deep Learning
演習の手順
- 変数
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()