शुरू करेंमुफ़्त में शुरू करें

इमेज क्लासिफायर ट्रेनिंग लूप

अब इमेज क्लासिफायर को ट्रेन करने का समय है! आप पहले परिभाषित किए गए Net का उपयोग करेंगे और इसे सात तरह के बादलों को अलग-अलग पहचानने के लिए ट्रेन करेंगे.

लॉस और ऑप्टिमाइज़र तय करने के लिए, आपको torch.nn और torch.optim की फंक्शंस उपयोग करनी होंगी, जिन्हें क्रमशः nn और optim नाम से आपके लिए इम्पोर्ट किया गया है. आपको ट्रेनिंग लूप में खुद कुछ बदलने की ज़रूरत नहीं है: यह बिल्कुल वैसा ही है जैसा आपने पहले लिखा था, बस ट्रेनिंग के दौरान लॉस प्रिंट करने के लिए कुछ अतिरिक्त लॉजिक जोड़ा गया है.

यह अभ्यास पाठ्यक्रम का हिस्सा है

इंटरमीडिएट Deep Learning with PyTorch

पाठ्यक्रम देखें

अभ्यास निर्देश

  • अपनी Net क्लास का उपयोग करके num_classes को 7 सेट करें, मॉडल डिफाइन करें और उसे net में असाइन करें.
  • लॉस फंक्शन को क्रॉस-एंट्रॉपी लॉस के रूप में डिफाइन करें और उसे criterion में असाइन करें.
  • ऑप्टिमाइज़र को Adam के रूप में डिफाइन करें, इसमें मॉडल के पैरामीटर्स और 0.001 का लर्निंग रेट पास करें, और उसे optimizer में असाइन करें.
  • ट्रेनिंग for-लूप शुरू करें: dataloader_train के ट्रेनिंग images और labels पर इटरेट करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Define the model
____ = ____
# Define the loss function
____ = ____
# Define the optimizer
____ = ____

for epoch in range(3):
    running_loss = 0.0
    # Iterate over training batches
    ____
        optimizer.zero_grad()
        outputs = net(images)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()
        running_loss += loss.item()
    
    epoch_loss = running_loss / len(dataloader_train)
    print(f"Epoch {epoch+1}, Loss: {epoch_loss:.4f}")
कोड संपादित करें और चलाएँ