始める無料で始める

ResNet での画像分類

事前学習済みの ResNet18 からモデルを作成しました。ここからは、サンプル画像でテストしてみましょう。

画像に前処理の変換を適用して分類します。ResNet18 はマルチクラスのデータセットで学習されているため、softmax() を適用したあとに argmax() を使う必要があります。

予測テストには次の画像を使用します。 A cup of espresso

前処理の変換は 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)
コードを編集して実行