Sestavení generátoru a diskriminátoru
V PyBooks máš za úkol pracovat na automatickém generátoru textu, který pomůže autorům překonat tvůrčí blok. Věříš, že pomocí GAN sítí (Generative Adversarial Networks) dokážeš vytvořit systém, kde jedna síť – generátor – vytváří nový text, zatímco druhá síť – diskriminátor – hodnotí jeho věrohodnost. K tomu je potřeba inicializovat obě sítě. Ty pak budou trénovány navzájem proti sobě, aby produkovaly nový, přesvědčivý text.
Následující knihovny jsou již naimportovány: torch, torch.nn jako nn.
Toto cvičení je součástí kurzu
Deep Learning for Text with PyTorch
Pokyny k cvičení
- Definuj třídu
Generators lineární vrstvou pro sekvenční data a aktivační funkcí sigmoid. - V metodě
forward()třídyGeneratorpředej vstup definovaným modelem. - Definuj třídu
Discriminatorse stejnými vrstvami a aktivační funkcí – při definování dimenzí buď pozorný/á.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)