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

GAN मॉडल को ट्रेन करना

PyBooks में आपकी टीम ने Generative Adversarial Network (GAN) का इस्तेमाल करते हुए टेक्स्ट जेनरेटर बनाने में अच्छी प्रगति की है। आप ने सफलतापूर्वक जेनरेटर और डिस्क्रिमिनेटर नेटवर्क्स परिभाषित कर लिए हैं। अब इन्हें ट्रेन करने का समय है। आखिरी चरण में कुछ नकली डेटा जेनरेट करना है और उसे वास्तविक डेटा से तुलना करके देखना है कि आपके GAN ने कितना सीखा है। हमने इनपुट के रूप में टेन्सर का उपयोग किया है और आउटपुट इनपुट टेन्सर जैसा दिखने की कोशिश करेगा। इसके बाद PyBooks की टीम इस synthetic डेटा का टेक्स्ट एनालिसिस में उपयोग कर सकती है, क्योंकि फीचर्स के बीच वैसा ही संबंध रहेगा जैसा टेक्स्ट डेटा में होता है.

जेनरेटर और डिस्क्रिमिनेटर को क्रमशः generator और discriminator में initialize करके सेव कर दिया गया है.

इस अभ्यास में निम्न वैरिएबल initialize किए गए हैं:

  • seq_length = 5: प्रत्येक synthetic डेटा सीक्वेंस की लंबाई
  • num_sequences = 100: जेनरेट किए गए कुल सीक्वेंसों की संख्या
  • num_epochs = 50: डेटासेट पर पूरे पास की संख्या
  • print_every = 10: आउटपुट दिखाने की आवृत्ति, हर 10 epochs पर परिणाम दिखेंगे

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

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

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

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

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

# Define the loss function and optimizer
criterion = nn.____()
optimizer_gen = ____(generator.parameters(), lr=0.001)
optimizer_disc = ____(discriminator.parameters(), lr=0.001)

for epoch in range(num_epochs):
    for real_data in data:
      	# Unsqueezing real_data and prevent gradient recalculations
        real_data = real_data.____(0)
        noise = torch.rand((1, seq_length))
        fake_data = generator(noise)
        disc_real = discriminator(real_data)
        disc_fake = discriminator(fake_data.____())
        loss_disc = criterion(disc_real, torch.ones_like(disc_real)) + criterion(disc_fake, torch.zeros_like(disc_fake))
        optimizer_disc.zero_grad()
        loss_disc.backward()
        optimizer_disc.step()
कोड संपादित करें और चलाएँ