ResNet での画像分類
事前学習済みの ResNet18 からモデルを作成しました。ここからは、サンプル画像でテストしてみましょう。
画像に前処理の変換を適用して分類します。ResNet18 はマルチクラスのデータセットで学習されているため、softmax() を適用したあとに argmax() を使う必要があります。
予測テストには次の画像を使用します。

前処理の変換は preprocess として保存されています。PIL 画像は img としてアップロード済みです。
この演習はコースの一部です
PyTorch で学ぶ画像向け Deep Learning
演習の手順
- 画像に前処理の変換を適用し、
.unsqueeze(0)を使ってバッチ次元を追加してリシェイプします。 - 画像をモデルに通し、出力に対して
.squeeze(0)でバッチ次元を取り除き、softmax()を追加します。 argmax()を適用して、最も確率が高いクラスを選択します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Apply preprocessing transforms
batch = ____.____
# Apply model with softmax layer
prediction = ____.____.____
# Apply argmax
class_id = prediction.____.item()
score = prediction[class_id].item()
category_name = weights.meta["categories"][class_id]
print(category_name)