以下是一个基本的 GAN 生成手写数字实验中的生成器,使用 PyTorch 实现:

import torch.nn as nn

class Generator(nn.Module):
    def __init__(self, input_size, hidden_size, output_size):
        super(Generator, self).__init__()
        
        self.fc1 = nn.Linear(input_size, hidden_size)
        self.relu = nn.ReLU()
        self.fc2 = nn.Linear(hidden_size, hidden_size)
        self.fc3 = nn.Linear(hidden_size, output_size)
        self.sigmoid = nn.Sigmoid()
        
    def forward(self, x):
        out = self.fc1(x)
        out = self.relu(out)
        out = self.fc2(out)
        out = self.relu(out)
        out = self.fc3(out)
        out = self.sigmoid(out)
        
        return out

该生成器使用三个全连接层,分别为输入层、中间层和输出层。输入层和输出层大小分别为输入数据的维度和输出数据的维度,中间层大小可以自定义。激活函数采用 ReLU 和 Sigmoid。在前向传播中,输入数据经过三个全连接层和激活函数后输出生成的手写数字。


原文地址: https://www.cveoy.top/t/topic/nF9D 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录