This shows you the differences between two versions of the page.
|
gp:laboratoare:07 [2025/03/30 21:09] maria_anca.balutoiu [Layers] |
gp:laboratoare:07 [2025/03/30 21:12] (current) maria_anca.balutoiu [Implementarea unui GAN în PyTorch] |
||
|---|---|---|---|
| Line 43: | Line 43: | ||
| * **LeakyReLU** este adesea folosit ca funcție de activare în straturile ascunse ale Discriminatorului. | * **LeakyReLU** este adesea folosit ca funcție de activare în straturile ascunse ale Discriminatorului. | ||
| * Stratul de ieșire utilizează de obicei funcția **Sigmoid** (sau uneori **Softmax**) pentru a genera o probabilitate între 0 și 1. Această probabilitate reprezintă probabilitatea ca intrarea să fie reală (aproape de 1) sau falsă (aproape de 0). | * Stratul de ieșire utilizează de obicei funcția **Sigmoid** (sau uneori **Softmax**) pentru a genera o probabilitate între 0 și 1. Această probabilitate reprezintă probabilitatea ca intrarea să fie reală (aproape de 1) sau falsă (aproape de 0). | ||
| - | <hidden> | ||
| - | </hidden> | + | ==== Implementarea unui GAN în PyTorch ==== |
| + | <code> | ||
| + | class Generator(nn.Module): | ||
| + | def __init__(self): | ||
| + | super(Generator, self).__init__() | ||
| + | self.model = nn.Sequential( | ||
| + | nn.Linear(100, 256), # First linear layer (input: 100 -> 256) | ||
| + | nn.ReLU(), # Activation function | ||
| + | nn.Linear(256, 512), # Second linear layer (256 -> 512) | ||
| + | nn.ReLU(), # Activation function | ||
| + | nn.Linear(512, 1024), # Third linear layer (512 -> 1024) | ||
| + | nn.ReLU(), # Activation function | ||
| + | nn.Linear(1024, 64*64), # Final layer (1024 -> 64x64 terrain) | ||
| + | nn.Tanh() # Activation function for output (-1 to 1) | ||
| + | ) | ||
| + | |||
| + | def forward(self, x): | ||
| + | return self.model(x).view(-1, 64, 64) | ||
| + | </code> | ||
| ==== Tasks ==== | ==== Tasks ==== | ||