有关DCGAN实战的小例子之前已经更新过一篇,感兴趣的朋友可以点击查看
Pytorch 使用DCGAN生成MNIST手写数字 入门级教程
有关DCGAN的相关原理:DCGAN论文解读-----DCGAN原理简介与基础GAN的区别
一、数据集说明
本实验使用到的动漫人物头像数据集,大约有两万多张动漫人物头像,已上传资源供大家免费下载
动漫人物头像数据集 anime-facehttps://download.csdn.net/download/m0_62128864/85072972
二、读取数据集
# 读取图片
class Face_dataset(data.Dataset):
def __init__(self, imgs_path):
self.imgs_path = imgs_path
def __getitem__(self, index):
imgs_path = self.imgs_path[index]
pil_img = Image.open(imgs_path)
pil_img = transform(pil_img)
return pil_img
def __len__(self):
return len(self.imgs_path)
三、定义生成器
# 定义生成器
class Generator(nn.Module):
def __init__(self):
super(Generator,self).__init__()
self.linear1 = nn.Linear(100, 256*16*16)
self.bn1 = nn.BatchNorm1d(256*16*16)
self.deconv1 = nn.ConvTranspose2d(256, 128,
kernel_size=(3,3),
stride=1,
padding=1