Zacznij terazZacznij za darmo

Budowanie generatora i dyskryminatora

W PyBooks masz za zadanie pracować nad automatycznym generatorem tekstu, który pomoże pisarzom przezwyciężyć twórczą blokadę. Korzystając z GAN-ów (Generative Adversarial Networks – generatywnych sieci antagonistycznych), możesz zbudować system, w którym jedna sieć – generator – tworzy nowy tekst, a druga – dyskryminator – ocenia jego autentyczność. Aby to osiągnąć, musisz zainicjalizować obie sieci. Następnie będą one trenowane przeciwko sobie, żeby generować nowy, wiarygodny tekst.

Następujące biblioteki zostały już zaimportowane: torch, torch.nn jako nn.

To ćwiczenie jest częścią kursu

Uczenie głębokie dla tekstu z PyTorch

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj klasę Generator z warstwą liniową dla danych sekwencyjnych oraz funkcją aktywacji sigmoid.
  • W metodzie forward() klasy Generator przepuść dane wejściowe przez zdefiniowany model.
  • Zdefiniuj klasę Discriminator z tymi samymi warstwami i funkcją aktywacji, zwracając uwagę na poprawne zdefiniowanie wymiarów.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod