I have been trying to build a simple diffusion model with checker board data which is made from dots (x, y). So it is 2d data. def get_noise_level(step, total_steps, max_noise_level=1.0): # Define the mean and standard deviation for the Gaussian distribution mean = total_steps / 2 std_dev = total_steps / 4 # This can be adjusted based on desired spread # Calculate the Gaussian noise level gaussian_noise_level = np.exp(-((step - mean) ** 2) / (2 * std_dev ** 2)) # Scale the noise level to be between 0 and max_noise_level return gaussian_noise_level * max_noise_level Above is my func. to get the noise level # Model definition class DiffusionModel(nn.Module): def __init__(self): super().__init__() self.fc1 = nn.Linear(2, 128) self.fc2 = nn.Linear(128, 128) self.fc3 = nn.Linear(128, 2) def forward(self, x): x = torch.relu(self.fc1(x)) x = torch.relu(self.fc2(x)) return self.fc3(x) Above is m
A site where you can share knowledge