DL之DCGAN:基于keras框架利用深度卷积对抗网络DCGAN算法对MNIST数据集实现图像生成

简介: DL之DCGAN:基于keras框架利用深度卷积对抗网络DCGAN算法对MNIST数据集实现图像生成

设计思路

image.png


输出结果

X像素取值范围是[-1.0, 1.0]

_________________________________________________________________

Layer (type)                 Output Shape              Param #  

=================================================================

dense_1 (Dense)              (None, 1024)              103424    

_________________________________________________________________

activation_1 (Activation)    (None, 1024)              0        

_________________________________________________________________

dense_2 (Dense)              (None, 6272)              6428800  

_________________________________________________________________

batch_normalization_1 (Batch (None, 6272)              25088    

_________________________________________________________________

activation_2 (Activation)    (None, 6272)              0        

_________________________________________________________________

reshape_1 (Reshape)          (None, 7, 7, 128)         0        

_________________________________________________________________

up_sampling2d_1 (UpSampling2 (None, 14, 14, 128)       0        

_________________________________________________________________

conv2d_1 (Conv2D)            (None, 14, 14, 64)        204864    

_________________________________________________________________

activation_3 (Activation)    (None, 14, 14, 64)        0        

_________________________________________________________________

up_sampling2d_2 (UpSampling2 (None, 28, 28, 64)        0        

_________________________________________________________________

conv2d_2 (Conv2D)            (None, 28, 28, 1)         1601      

_________________________________________________________________

activation_4 (Activation)    (None, 28, 28, 1)         0        

=================================================================

Total params: 6,763,777

Trainable params: 6,751,233

Non-trainable params: 12,544

_________________________________________________________________

_________________________________________________________________

Layer (type)                 Output Shape              Param #  

=================================================================

conv2d_3 (Conv2D)            (None, 28, 28, 64)        1664      

_________________________________________________________________

activation_5 (Activation)    (None, 28, 28, 64)        0        

_________________________________________________________________

max_pooling2d_1 (MaxPooling2 (None, 14, 14, 64)        0        

_________________________________________________________________

conv2d_4 (Conv2D)            (None, 10, 10, 128)       204928    

_________________________________________________________________

activation_6 (Activation)    (None, 10, 10, 128)       0        

_________________________________________________________________

max_pooling2d_2 (MaxPooling2 (None, 5, 5, 128)         0        

_________________________________________________________________

flatten_1 (Flatten)          (None, 3200)              0        

_________________________________________________________________

dense_3 (Dense)              (None, 1024)              3277824  

_________________________________________________________________

activation_7 (Activation)    (None, 1024)              0        

_________________________________________________________________

dense_4 (Dense)              (None, 1)                 1025      

_________________________________________________________________

activation_8 (Activation)    (None, 1)                 0        

=================================================================

Total params: 3,485,441

Trainable params: 3,485,441

Non-trainable params: 0

_________________________________________________________________

2020-11-24 21:53:56.659897: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2

(25, 28, 28, 1)


image.png


核心代码

def generator_model():

   model = Sequential()

   model.add(Dense(input_dim=100, units=1024))     #  1034  1024

   model.add(Activation('tanh'))

   model.add(Dense(128*7*7))

   model.add(BatchNormalization())

   model.add(Activation('tanh'))

   model.add(Reshape((7, 7, 128), input_shape=(128*7*7,)))

   model.add(UpSampling2D(size=(2, 2)))

   model.add(Conv2D(64, (5, 5), padding='same'))

   model.add(Activation('tanh'))

   model.add(UpSampling2D(size=(2, 2)))

   model.add(Conv2D(1, (5, 5), padding='same'))

   model.add(Activation('tanh'))

   return model

def discriminator_model():     # 定义鉴别网络:输入一张图像,输出0(伪造)/1(真实)

   model = Sequential()

   model.add(

           Conv2D(64, (5, 5),

           padding='same',

           input_shape=(28, 28, 1))

           )

   model.add(Activation('tanh'))

   model.add(MaxPooling2D(pool_size=(2, 2)))

   model.add(Conv2D(128, (5, 5)))

   model.add(Activation('tanh'))

   model.add(MaxPooling2D(pool_size=(2, 2)))

   model.add(Flatten())

   model.add(Dense(1024))

   model.add(Activation('tanh'))

   model.add(Dense(1))

   model.add(Activation('sigmoid'))

   return model

g = generator_model()

g.summary()

d = discriminator_model()

d.summary()


相关文章
|
机器学习/深度学习 数据可视化 TensorFlow
使用Keras构建一个简单的神经网络模型
使用Keras构建一个简单的神经网络模型
|
机器学习/深度学习 API 算法框架/工具
【Tensorflow+keras】Keras API三种搭建神经网络的方式及以mnist举例实现
使用Keras API构建神经网络的三种方法:使用Sequential模型、使用函数式API以及通过继承Model类来自定义模型,并提供了基于MNIST数据集的示例代码。
451 12
|
机器学习/深度学习 API 算法框架/工具
【Tensorflow+keras】Keras API两种训练GAN网络的方式
使用Keras API以两种不同方式训练条件生成对抗网络(CGAN)的示例代码:一种是使用train_on_batch方法,另一种是使用tf.GradientTape进行自定义训练循环。
607 5
|
机器学习/深度学习 TensorFlow 算法框架/工具
【Tensorflow+Keras】keras实现条件生成对抗网络DCGAN--以Minis和fashion_mnist数据集为例
如何使用TensorFlow和Keras实现条件生成对抗网络(CGAN)并以MNIST和Fashion MNIST数据集为例进行演示。
469 3
|
机器学习/深度学习 TensorFlow 算法框架/工具
利用Keras实现一个双层的卷积神经网络
【7月更文挑战第27天】利用Keras实现一个双层的卷积神经网络。
281 3
|
机器学习/深度学习 Linux TensorFlow
【Tensorflow+keras】用代码给神经网络结构绘图
文章提供了使用TensorFlow和Keras来绘制神经网络结构图的方法,并给出了具体的代码示例。
530 0
|
机器学习/深度学习 测试技术 API
【Python-Keras】Keras搭建神经网络模型的Model解析与使用
这篇文章详细介绍了Keras中搭建神经网络模型的`Model`类及其API方法,包括模型配置、训练、评估、预测等,并展示了如何使用Sequential模型和函数式模型来构建和训练神经网络。
716 1
|
机器学习/深度学习 数据采集 监控
算法金 | DL 骚操作扫盲,神经网络设计与选择、参数初始化与优化、学习率调整与正则化、Loss Function、Bad Gradient
**神经网络与AI学习概览** - 探讨神经网络设计,包括MLP、RNN、CNN,激活函数如ReLU,以及隐藏层设计,强调网络结构与任务匹配。 - 参数初始化与优化涉及Xavier/He初始化,权重和偏置初始化,优化算法如SGD、Adam,针对不同场景选择。 - 学习率调整与正则化,如动态学习率、L1/L2正则化、早停法和Dropout,以改善训练和泛化。
545 0
算法金 | DL 骚操作扫盲,神经网络设计与选择、参数初始化与优化、学习率调整与正则化、Loss Function、Bad Gradient
|
机器学习/深度学习 TensorFlow API
Keras是一个高层神经网络API,由Python编写,并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验,能够用最少的代码实现想法,并且能够方便地在CPU和GPU上运行。
Keras是一个高层神经网络API,由Python编写,并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验,能够用最少的代码实现想法,并且能够方便地在CPU和GPU上运行。
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
620 17

热门文章

最新文章