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()


相关文章
|
7月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
8月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
702 11
|
8月前
|
机器学习/深度学习 传感器 数据采集
【故障识别】基于CNN-SVM卷积神经网络结合支持向量机的数据分类预测研究(Matlab代码实现)
【故障识别】基于CNN-SVM卷积神经网络结合支持向量机的数据分类预测研究(Matlab代码实现)
498 0
|
10月前
|
机器学习/深度学习 人工智能 PyTorch
零基础入门CNN:聚AI卷积神经网络核心原理与工业级实战指南
卷积神经网络(CNN)通过局部感知和权值共享两大特性,成为计算机视觉的核心技术。本文详解CNN的卷积操作、架构设计、超参数调优及感受野计算,结合代码示例展示其在图像分类、目标检测等领域的应用价值。
549 7
|
11月前
|
机器学习/深度学习 数据采集 监控
基于CNN卷积神经网络和GEI步态能量提取的步态识别算法matlab仿真,对比不同角度下的步态识别性能
本项目基于CNN卷积神经网络与GEI步态能量提取技术,实现高效步态识别。算法使用不同角度(0°、45°、90°)的步态数据库进行训练与测试,评估模型在多角度下的识别性能。核心流程包括步态图像采集、GEI特征提取、数据预处理及CNN模型训练与评估。通过ReLU等激活函数引入非线性,提升模型表达能力。项目代码兼容Matlab2022a/2024b,提供完整中文注释与操作视频,助力研究与应用开发。
|
7月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
655 0
|
7月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
421 2
|
8月前
|
传感器 机器学习/深度学习 编解码
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
349 3
|
7月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
319 8
|
7月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
367 8

热门文章

最新文章