Pre-trained मॉडलों के साथ काम करना

PyTorch के साथ इमेज के लिए डीप लर्निंग

Michal Oleszak

Machine Learning Engineer

Pre-trained मॉडलों का उपयोग

  • मॉडलों को स्क्रैच से ट्रेन करना:

    • लंबी प्रक्रिया
    • बहुत सारा डेटा चाहिए
  • Pre-trained models - पहले से किसी टास्क पर ट्रेन्ड मॉडल

    • नए टास्क पर सीधे रीयूज़ हो सकते हैं
    • नए टास्क के अनुसार एडजस्ट करने पड़ते हैं (transfer learning)
  • Pre-trained मॉडलों का लाभ उठाने के स्टेप्स:

    • मॉडल्स को लोकली सेव और लोड करना
    • torchvision मॉडल्स डाउनलोड करना
PyTorch के साथ इमेज के लिए डीप लर्निंग

पूरा PyTorch मॉडल सेव करना

  • torch.save()
  • मॉडल एक्सटेंशन: .pt या .pth
  • .state_dict() से मॉडल वेट्स सेव करें
    torch.save(model.state_dict(), "BinaryCNN.pth")
    
PyTorch के साथ इमेज के लिए डीप लर्निंग

PyTorch मॉडल्स लोड करना

  • नया मॉडल बनाइए

    new_model = BinaryCNN()
    
  • सेव किए गए पैरामीटर्स लोड करें

    new_model.load_state_dict(torch.load('BinaryCNN.pth'))
    
PyTorch के साथ इमेज के लिए डीप लर्निंग

torchvision मॉडल्स डाउनलोड करना

from torchvision.models import (
    resnet18, ResNet18_Weights
)


weights = ResNet18_Weights.DEFAULT
model = resnet18(weights=weights)
transforms = weights.transforms()
  • resnet आर्किटेक्चर और वेट्स इम्पोर्ट करें
  • वेट्स निकालें
  • वेट्स पास करके मॉडल बनाइए
  • ज़रूरी डेटा ट्रांसफॉर्म्स स्टोर करें
PyTorch के साथ इमेज के लिए डीप लर्निंग

नए इनपुट इमेज तैयार करें

from PIL import Image

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

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

 

बिल्ली की छवि

  • इमेज लोड करें
  • इमेज ट्रांसफॉर्म करें
  • इमेज को रीशेप करें
PyTorch के साथ इमेज के लिए डीप लर्निंग

नई prediction जनरेट करना

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
  • इन्फरेंस के लिए इवैल्यूएशन मोड
  • ग्रेडिएंट्स डिसेबल करें
  • इमेज को मॉडल में दें और बैच डायमेंशन हटाएँ
  • softmax लगाएँ
  • सबसे उच्च प्रॉबेबिलिटी वाली क्लास चुनें और उसका इंडेक्स लें
  • क्लास इंडेक्स को लेबल से मैप करें
  • क्लास लेबल प्रिंट करें
PyTorch के साथ इमेज के लिए डीप लर्निंग

अभ्यास करते हैं!

PyTorch के साथ इमेज के लिए डीप लर्निंग

Preparing Video For Download...