Bekerja dengan model terlatih

Deep Learning untuk Gambar dengan PyTorch

Michal Oleszak

Machine Learning Engineer

Memanfaatkan model terlatih

  • Melatih model dari nol:

    • Proses lama
    • Butuh banyak data
  • Model terlatih - model yang sudah dilatih pada suatu tugas

    • Dapat langsung dipakai untuk tugas baru
    • Perlu penyesuaian ke tugas baru (transfer learning)
  • Langkah memanfaatkan model terlatih:

    • Simpan & muat model secara lokal
    • Unduh model torchvision
Deep Learning untuk Gambar dengan PyTorch

Menyimpan model PyTorch lengkap

  • torch.save()
  • Ekstensi model: .pt atau .pth
  • Simpan bobot model dengan .state_dict()
    torch.save(model.state_dict(), "BinaryCNN.pth")
    
Deep Learning untuk Gambar dengan PyTorch

Memuat model PyTorch

  • Inisialisasi model baru

    new_model = BinaryCNN()
    
  • Muat parameter tersimpan

    new_model.load_state_dict(torch.load('BinaryCNN.pth'))
    
Deep Learning untuk Gambar dengan PyTorch

Mengunduh model torchvision

from torchvision.models import (
    resnet18, ResNet18_Weights
)


weights = ResNet18_Weights.DEFAULT
model = resnet18(weights=weights)
transforms = weights.transforms()
  • Impor arsitektur resnet dan bobot
  • Ambil bobot
  • Buat model dengan menyertakan bobot
  • Simpan transformasi data yang dibutuhkan
Deep Learning untuk Gambar dengan PyTorch

Menyiapkan gambar input baru

from PIL import Image

image = Image.open("cat013.jpg")

image_tensor = transform(image)
image_reshaped = image_tensors.unsqueeze(0)

 

gambar kucing

  • Muat gambar
  • Transformasi gambar
  • Ubah bentuk gambar
Deep Learning untuk Gambar dengan PyTorch

Membuat prediksi baru

model.eval()


with torch.no_grad():
pred = model(image_reshaped).squeeze(0)
pred_cls = pred.softmax(0)
cls_id = pred_cls.argmax().item()
cls_name = weights.meta["categories"][cls_id]
print(cls_name)
Egyptian cat
  • Mode evaluasi untuk inferensi
  • Nonaktifkan gradien
  • Masukkan gambar ke model dan hilangkan dimensi batch
  • Terapkan softmax
  • Pilih kelas dengan probabilitas tertinggi dan ambil indeksnya
  • Peta indeks kelas ke label
  • Cetak label kelas
Deep Learning untuk Gambar dengan PyTorch

Ayo berlatih!

Deep Learning untuk Gambar dengan PyTorch

Preparing Video For Download...