Klasifikasi gambar dengan ResNet
Anda telah membuat model dari ResNet18 yang telah dilatih sebelumnya. Sekarang, saatnya mengujinya pada sebuah contoh gambar.
Anda akan menerapkan transformasi prapemrosesan pada sebuah gambar dan melakukan klasifikasi. Anda perlu menggunakan lapisan softmax() diikuti dengan argmax(), karena ResNet18 telah dilatih pada himpunan data multi-kelas.
Anda telah memilih gambar berikut untuk pengujian prediksi:

Transformasi prapemrosesan disimpan sebagai preprocess. Gambar PIL diunggah sebagai img.
Latihan ini merupakan bagian dari kursus
Deep Learning untuk Gambar dengan PyTorch
Instruksi latihan
- Terapkan transformasi prapemrosesan pada gambar dan ubah bentuknya menggunakan
.unsqueeze(0)untuk menambahkan dimensi batch. - Lewatkan gambar melalui model, ubah bentuk keluarannya menggunakan
.squeeze(0)untuk menghapus dimensi batch, lalu tambahkan lapisansoftmax(). - Terapkan
argmax()untuk memilih kelas dengan probabilitas tertinggi.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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)