Stack Overflow Machine Learning Tag
2026-06-11 15:12 UTC
Score 29.0
AI-112-20260611-social-media-e0ab0049
I'm trying to train a GAN model, but its results are very bad. The Generator doesn't seem to work. Can someone suggest how this can be improved? What is the best way to remember the code? Can this also be done using a builtin library? import os import torch import torchvision import torch.nn as nn import torch.optim as optim import torch.nn.functional as F import torchvision.datasets as datasets import torchvision.transforms as transforms from torch.utils.data import DataLoader import matplotlib.pyplot as plt import numpy as np random_seed = 42 torch.manual_seed(random_seed) BATCH_SIZE = 128 AVAIL_GPUS = min(1, torch.cuda.device_count()) DEVICE = torch.device("cuda" if AVAIL_GPUS else "cpu") LATENT_DIM = 100 transform = transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,)) # scale to [-1, 1] for tanh output ]) dataset = datasets.MNIST(root="./data", train=True, download=True, transform=transform) dataloader = DataLoader(dataset, batch_size=BATCH_SIZE, shuffle=True, num_workers=2, drop_last=True) class Generator(nn.Module): def __init__(self, latent_dim=100, img_channels=1, feature_maps=64): super().__init__() self.net = nn.Sequential( nn.ConvTranspose2d(latent_dim, feature_maps * 4, kernel_size=7, stride=1, padding=0, bias=False), nn.BatchNorm2d(feature_maps * 4), nn.ReLU(True), nn.ConvTranspose2d(feature_maps * 4, feature_maps * 2, kernel_size=4, stride=2, padding=1, bias=False), nn.BatchNorm2d(feature_maps * 2), nn.ReLU(True), nn.ConvTranspose2d(…