深度学习生成模型-DCGAN

DCGAN是GAN的一种变体,结合了CNN的优势,适用于图像生成。本文介绍了DCGAN的原理,生成器和鉴别器的实现,以及训练过程。生成器使用Sequential模型,鉴别器接收图像并判断真假,训练过程中,通过不断迭代优化生成器和鉴别器的损失函数,最终达到真假图像难以区分的状态。
摘要由CSDN通过智能技术生成

原理分析

DCGAN 和GAN的原理是相同的,就是DCGAN和CNN结合,用CNN更有利于图形处理。
关于GAN的原理可以看一下这篇博客:GAN新手入门指南+keras&TensorFlow代码详解(WIN10)

然后我们可以具体看一下model实现:

实现生成器

这是最简单的Keras Sequnatial模型,我们可以发现他的输入为(None, 100),而输出则是(None, 28, 28, 1)。看到28就知道这是一个关于生成手写数字的GAN模型。

def make_generator_model():
    model = tf.keras.Sequential()
    model.add(tf.keras.layers.Dense(7 * 7 * 256, use_bias=False, input_shape=(100,)))
    model.add(tf.keras.layers.BatchNormalization())
    model.add(tf.keras.layers.LeakyReLU())

    model.add(tf.keras.layers.Reshape((7, 7, 256)))
    assert model.output_shape == (None, 7, 7, 256)  # Note: None is the batch size

    model.add(tf.keras.layers.Conv2DTranspose(128, (5, 5), strides=(1, 1), padding='same', use_bias=False))
    assert model.output_shape == (None
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值