基于paddle,aistudio的DCGAN
主要用于记录自己学习经历。
1 导入必要的包
import os
import random
import paddle
import paddle.nn as nn
import paddle.optimizer as optim
import paddle.vision.datasets as dset
import paddle.vision.transforms as transforms
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
2 定义数据集
demo_dataset = paddle.vision.datasets.MNIST(mode='train')
3 查看数据集
demo_dataset[5][0]
4 查看数据集维度
for data in dataloader:
break
data[0].shape
5 参数初始化模块
@paddle.no_grad()
def normal_(x, mean=0., std=1.):
temp_value = paddle.normal(mean, std, shape=x.shape)
# 该op返回符合正态分布(均值为mean,标准差为std的正态随机分布)的随机Tensor。
x.set_value(temp_value)
return x
@paddle.no_grad()
def uniform_(x, a=-1., b=1.):
temp_value = paddle.uniform(min=a, max=b, shape=x.shape)
# 该op返回值服从范围[min,max]内均值分布的随机Tensor,性状为shape,数据类型为dtype
x.set_value(temp_value)
return x
@paddle.no_grad()
def constant_(x, value):
temp_value = paddle.full(x.shape, value, x.dtype)
# 该op创造形状大小为shape并且数据类型为dtype的Tensor,其中元素值均为fill_value。
x.set_value(temp_value)
return x
def weights_init(m):
classname = m.__class__.__name__
if hasattr(m, 'weight') and classname.find('Conv') != -1: