Bắt đầu ngayBắt đầu miễn phí

Xây dựng generator và discriminator

Tại PyBooks, bạn được giao nhiệm vụ phát triển một bộ tạo văn bản tự động để giúp tác giả vượt qua bế tắc khi viết. Bằng cách dùng GAN (Generative Adversarial Networks), bạn tin rằng mình có thể tạo ra một hệ thống trong đó một mạng — generator — tạo văn bản mới, còn mạng kia — discriminator — đánh giá tính xác thực của văn bản đó. Để làm được điều này, bạn cần khởi tạo cả hai mạng generator và discriminator. Hai mạng này sẽ được huấn luyện đối kháng để tạo ra văn bản mới, đáng tin.

Những thư viện sau đã được nhập sẵn cho bạn: torch, torch.nn với bí danh nn.

Bài tập này là một phần của khóa học

Deep Learning cho Văn bản với PyTorch

Xem khóa học

Hướng dẫn bài tập

  • Định nghĩa lớp Generator với một tầng linear cho dữ liệu tuần tự và một hàm kích hoạt sigmoid.
  • Truyền đầu vào qua mô hình đã định nghĩa trong phương thức forward() của lớp Generator.
  • Định nghĩa lớp Discriminator với các tầng và hàm kích hoạt tương tự, lưu ý cẩn thận khi xác định kích thước (dimensions).

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Define the generator class
class Generator(nn.Module):
    def __init__(self):
        super().__init__()
        self.model = nn.____(nn.____(____), nn.____())
    def forward(self, x):
        return self.____(x)

# Define the discriminator networks
class Discriminator(nn.Module):
    def __init__(self):
        super().__init__()
        self.model = nn.____(nn.____(____), nn.____())
    def forward(self, x):
        return self.model(x)
Chỉnh sửa và Chạy Mã