DL之DCGAN(Keras框架):基于keras框架利用深度卷积对抗网络DCGAN算法对MNIST数据集实现图像生成(保存h5模型→加载模型)

简介: DL之DCGAN(Keras框架):基于keras框架利用深度卷积对抗网络DCGAN算法对MNIST数据集实现图像生成(保存h5模型→加载模型)


目录

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

设计思路

输出结果

核心代码


相关文章

DL之DCGAN(Keras框架):基于keras框架利用深度卷积对抗网络DCGAN算法对MNIST数据集实现图像生成(保存h5模型→加载模型)

DL之DCGAN(Keras框架):基于keras框架利用深度卷积对抗网络DCGAN算法对MNIST数据集实现图像生成(保存h5模型→加载模型)实现

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

设计思路

输出结果

1. X像素取值范围是[-1.0, 1.0]
2. _________________________________________________________________
3. Layer (type)                 Output Shape              Param #   
4. =================================================================
5. dense_1 (Dense)              (None, 1024)              103424
6. _________________________________________________________________
7. activation_1 (Activation)    (None, 1024)              0
8. _________________________________________________________________
9. dense_2 (Dense)              (None, 6272)              6428800
10. _________________________________________________________________
11. batch_normalization_1 (Batch (None, 6272)              25088
12. _________________________________________________________________
13. activation_2 (Activation)    (None, 6272)              0
14. _________________________________________________________________
15. reshape_1 (Reshape)          (None, 7, 7, 128)         0
16. _________________________________________________________________
17. up_sampling2d_1 (UpSampling2 (None, 14, 14, 128)       0
18. _________________________________________________________________
19. conv2d_1 (Conv2D)            (None, 14, 14, 64)        204864
20. _________________________________________________________________
21. activation_3 (Activation)    (None, 14, 14, 64)        0
22. _________________________________________________________________
23. up_sampling2d_2 (UpSampling2 (None, 28, 28, 64)        0
24. _________________________________________________________________
25. conv2d_2 (Conv2D)            (None, 28, 28, 1)         1601
26. _________________________________________________________________
27. activation_4 (Activation)    (None, 28, 28, 1)         0
28. =================================================================
29. Total params: 6,763,777
30. Trainable params: 6,751,233
31. Non-trainable params: 12,544
32. _________________________________________________________________
33. _________________________________________________________________
34. Layer (type)                 Output Shape              Param #   
35. =================================================================
36. conv2d_3 (Conv2D)            (None, 28, 28, 64)        1664
37. _________________________________________________________________
38. activation_5 (Activation)    (None, 28, 28, 64)        0
39. _________________________________________________________________
40. max_pooling2d_1 (MaxPooling2 (None, 14, 14, 64)        0
41. _________________________________________________________________
42. conv2d_4 (Conv2D)            (None, 10, 10, 128)       204928
43. _________________________________________________________________
44. activation_6 (Activation)    (None, 10, 10, 128)       0
45. _________________________________________________________________
46. max_pooling2d_2 (MaxPooling2 (None, 5, 5, 128)         0
47. _________________________________________________________________
48. flatten_1 (Flatten)          (None, 3200)              0
49. _________________________________________________________________
50. dense_3 (Dense)              (None, 1024)              3277824
51. _________________________________________________________________
52. activation_7 (Activation)    (None, 1024)              0
53. _________________________________________________________________
54. dense_4 (Dense)              (None, 1)                 1025
55. _________________________________________________________________
56. activation_8 (Activation)    (None, 1)                 0
57. =================================================================
58. Total params: 3,485,441
59. Trainable params: 3,485,441
60. Non-trainable params: 0
61. _________________________________________________________________
62. 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
63. (25, 28, 28, 1)

核心代码

1. def generator_model():
2.     model = Sequential()
3.     model.add(Dense(input_dim=100, units=1024))     #  1034  1024
4.     model.add(Activation('tanh'))
5.     model.add(Dense(128*7*7))
6.     model.add(BatchNormalization())
7.     model.add(Activation('tanh'))
8.     model.add(Reshape((7, 7, 128), input_shape=(128*7*7,)))
9.     model.add(UpSampling2D(size=(2, 2)))
10.     model.add(Conv2D(64, (5, 5), padding='same'))
11.     model.add(Activation('tanh'))
12.     model.add(UpSampling2D(size=(2, 2)))
13.     model.add(Conv2D(1, (5, 5), padding='same'))
14.     model.add(Activation('tanh'))
15. return model
16. def discriminator_model():     # 定义鉴别网络:输入一张图像,输出0(伪造)/1(真实)
17.     model = Sequential()
18.     model.add(
19.             Conv2D(64, (5, 5),
20.             padding='same',
21.             input_shape=(28, 28, 1))
22.             )
23.     model.add(Activation('tanh'))
24.     model.add(MaxPooling2D(pool_size=(2, 2)))
25.     model.add(Conv2D(128, (5, 5)))
26.     model.add(Activation('tanh'))
27.     model.add(MaxPooling2D(pool_size=(2, 2)))
28.     model.add(Flatten())
29.     model.add(Dense(1024))
30.     model.add(Activation('tanh'))
31.     model.add(Dense(1))
32.     model.add(Activation('sigmoid'))
33. return model
34. 
35. 
36. g = generator_model()
37. g.summary()
38. 
39. d = discriminator_model()
40. d.summary()


相关文章
|
11小时前
|
数据采集 机器学习/深度学习 算法
「AIGC算法」线性回归模型
线性回归是监督学习经典算法,用于预测连续值。分为简单线性(1个特征)和多元线性(多特征)两种。模型建立涉及数据预处理、特征选择、参数估计和损失函数最小化。Python中可使用`sklearn`库快速实现,例如,创建、训练模型,预测并可视化结果。广泛应用于多个领域。
4 0
|
12小时前
|
机器学习/深度学习 数据采集 算法
Python实现随机森林回归模型(RandomForestRegressor算法)项目实战
Python实现随机森林回归模型(RandomForestRegressor算法)项目实战
|
1天前
|
人工智能 资源调度 算法
算法金 | 一个强大的算法模型,GPR !!
高斯过程回归(GPR)是基于高斯过程的非参数贝叶斯方法,用于捕捉数据的非线性关系并提供不确定性估计。它利用核函数描述输入数据的潜在函数,如径向基函数(RBF)用于平滑建模。GPR通过最大化对数似然函数选择超参数。代码示例展示了如何使用`sklearn`库进行GPR,生成模拟数据,训练模型,并用RBF核函数进行预测,最后通过绘图展示预测结果及置信区间。
11 3
算法金 | 一个强大的算法模型,GPR !!
|
5天前
|
机器学习/深度学习 人工智能 算法
【服装识别系统】图像识别+Python+人工智能+深度学习+算法模型+TensorFlow
服装识别系统,本系统作为图像识别方面的一个典型应用,使用Python作为主要编程语言,并通过TensorFlow搭建ResNet50卷积神经算法网络模型,通过对18种不同的服装('黑色连衣裙', '黑色衬衫', '黑色鞋子', '黑色短裤', '蓝色连衣裙', '蓝色衬衫', '蓝色鞋子', '蓝色短裤', '棕色鞋子', '棕色短裤', '绿色衬衫', '绿色鞋子', '绿色短裤', '红色连衣裙', '红色鞋子', '白色连衣裙', '白色鞋子', '白色短裤')数据集进行训练,最后得到一个识别精度较高的H5格式模型文件,然后基于Django搭建Web网页端可视化操作界面,实现用户在界面中
26 1
【服装识别系统】图像识别+Python+人工智能+深度学习+算法模型+TensorFlow
|
3天前
|
网络协议 Linux 开发工具
配置Linux固定IP地址,为什么要固定IP,因为他是通DHCP服务获取的,DHCP服务每次重启都会重新获取一次ip,VMware编辑中有一个虚拟网络编辑器
配置Linux固定IP地址,为什么要固定IP,因为他是通DHCP服务获取的,DHCP服务每次重启都会重新获取一次ip,VMware编辑中有一个虚拟网络编辑器
|
3天前
|
算法 网络协议 Shell
掌握Linux网络:深入理解TC —— 你的流量控制利器
目前需要做一款关于Linux下对于某IP限制的一个工具(QOS),在网上寻找了许多关于TC的教程,大多数都是一些比较基础的教学,且多数都是对网口的一些限制,然后自己研究了一段时间,最后有一些小小的了解,故在此分享给大家。
|
4天前
|
网络协议 安全 Ubuntu
7 个有用的免费 Linux 网络隧道
【7月更文挑战第4天】
19 0
7 个有用的免费 Linux 网络隧道
|
5天前
|
域名解析 网络协议 Linux
linux网络-- 手动配置ip地址
linux网络-- 手动配置ip地址
|
11天前
|
监控 安全 Linux
虚拟专用网络(VPN):远程访问与点对点连接及其在Linux中的IPSec实现与日志管理
虚拟专用网络(VPN):远程访问与点对点连接及其在Linux中的IPSec实现与日志管理
29 0
|
11天前
|
运维 网络协议 Linux
Linux与Windows下追踪网络路由:traceroute、tracepath与tracert命令详解
Linux与Windows下追踪网络路由:traceroute、tracepath与tracert命令详解
22 0