เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การฝึก GAN model

ทีมของคุณที่ PyBooks คืบหน้าไปมากในการสร้างตัวสร้างข้อความโดยใช้ Generative Adversarial Network (GAN) ทั้ง generator และ discriminator network ถูกกำหนดไว้เรียบร้อยแล้ว ขั้นตอนต่อไปคือการฝึกโมเดล จากนั้นจะสร้างข้อมูลปลอมขึ้นมาและเปรียบเทียบกับข้อมูลจริง เพื่อดูว่า GAN เรียนรู้ได้ดีเพียงใด เราใช้ tensor เป็น input และ output จะพยายามเลียนแบบ tensor ที่ป้อนเข้าไป ทีม PyBooks สามารถนำข้อมูลสังเคราะห์นี้ไปใช้วิเคราะห์ข้อความได้ เนื่องจาก feature ต่าง ๆ จะมีความสัมพันธ์เช่นเดียวกับข้อมูลข้อความจริง

ทั้ง generator และ discriminator ถูก initialize และบันทึกไว้ในตัวแปร generator และ discriminator ตามลำดับ

ตัวแปรต่อไปนี้ถูก initialize ไว้ในแบบฝึกหัดแล้ว:

  • seq_length = 5: ความยาวของแต่ละลำดับข้อมูลสังเคราะห์
  • num_sequences = 100: จำนวนลำดับทั้งหมดที่สร้างขึ้น
  • num_epochs = 50: จำนวนรอบการผ่านชุดข้อมูลทั้งหมด
  • print_every = 10: ความถี่ในการแสดงผล โดยแสดงผลทุก 10 epoch

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Deep Learning สำหรับข้อความด้วย 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()
แก้ไขและรันโค้ด