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

मल्टी-आउटपुट मॉडलों का प्रशिक्षण

जब आप कई आउटपुट वाले मॉडलों को ट्रेन करते हैं, तो यह सुनिश्चित करना अहम है कि loss फंक्शन सही तरह परिभाषित हो.

इस केस में, मॉडल दो आउटपुट देता है: alphabet और character की भविष्यवाणियाँ. इन दोनों के लिए संबंधित ground truth लेबल मौजूद हैं, जिनकी मदद से आप दो अलग-अलग loss निकालेंगे: एक गलत alphabet classification से होने वाला, और दूसरा गलत character classification से. चूँकि दोनों ही मामलों में आप multi-label classification टास्क से निपट रहे हैं, इसलिए हर बार Cross-Entropy loss लागू किया जा सकता है.

हालाँकि, gradient descent एक समय में केवल एक loss फंक्शन को ऑप्टिमाइज़ कर सकता है. इसलिए आप कुल loss को alphabet और character वाले दोनों losses के योग के रूप में परिभाषित करेंगे.

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

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

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

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

  • alphabet classification का loss निकालकर loss_alpha को असाइन करें.
  • character classification का loss निकालकर loss_char को असाइन करें.
  • कुल loss को दोनों partial losses के योग के रूप में कंप्यूट करके loss को असाइन करें.

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

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

net = Net()
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(net.parameters(), lr=0.05)

for epoch in range(1):
    for images, labels_alpha, labels_char in dataloader_train:
        optimizer.zero_grad()
        outputs_alpha, outputs_char = net(images)
        # Compute alphabet classification loss
        loss_alpha = ____
        # Compute character classification loss
        loss_char = ____
        # Compute total loss
        loss = ____
        loss.backward()
        optimizer.step()
कोड संपादित करें और चलाएँ