Spaces:
Sleeping
Sleeping
| import torch | |
| import torch.nn as nn | |
| import torch.nn.functional as F | |
| from torch import optim | |
| import numpy as np | |
| import matplotlib.pyplot as plt | |
| from torchvision import datasets | |
| import torchvision.transforms as transforms | |
| class Gerador(nn.Module): | |
| def __init__(self): | |
| super().__init__() | |
| self.input_dim = 100 + 10 # Ruído (100) + One-hot do número (10) | |
| self.dense0 = nn.Linear(self.input_dim, 32) | |
| self.dense1 = nn.Linear(32, 64) | |
| self.dense2 = nn.Linear(64, 128) | |
| self.dense3 = nn.Linear(128, 784) | |
| self.dropout = nn.Dropout(0.3) | |
| def forward(self, ruido, rotulo): | |
| X = torch.cat((ruido, rotulo), dim=1) # Concatenando ruído e rótulo one-hot | |
| X = self.dropout(F.leaky_relu(self.dense0(X), 0.2)) | |
| X = self.dropout(F.leaky_relu(self.dense1(X), 0.2)) | |
| X = self.dropout(F.leaky_relu(self.dense2(X), 0.2)) | |
| X = torch.tanh(self.dense3(X)) | |
| X = X.view(X.shape[0], 28, 28) | |
| return X |