1. Nauka
  2. /
  3. Kursy
  4. /
  5. Głębokie uczenie dla obrazów z PyTorch

Connected

ćwiczenie

Generator

Generator sieci GAN przyjmuje na wejściu losowy wektor szumu i tworzy wygenerowany obraz. Aby architektura była bardziej elastyczna, rozmiary wejścia i wyjścia przekazywane są jako parametry modelu. Dzięki temu możesz używać tego samego modelu z różnymi rozmiarami szumu wejściowego i obrazami o różnych kształtach.

torch.nn jest już zaimportowany jako nn. Masz również dostęp do niestandardowej funkcji gen_block(), która zwraca blok złożony z: warstwy liniowej, normalizacji wsadowej (batch norm) i aktywacji ReLU. Użyjesz go jako cegiełki budującej generator.

def gen_block(in_dim, out_dim):
    return nn.Sequential(
        nn.Linear(in_dim, out_dim),
        nn.BatchNorm1d(out_dim),
        nn.ReLU(inplace=True)
    )

Instrukcje

100 XP
  • Zdefiniuj self.generator jako model sekwencyjny.
  • Po ostatnim bloku gen_block dodaj warstwę liniową z odpowiednim rozmiarem wejścia i rozmiarem wyjścia równym out_dim.
  • Po warstwie liniowej dodaj aktywację sigmoidalną.
  • W metodzie forward() przekaż wejście modelu przez self.generator.