|
01、DCGAN模块分析与项目超参定义_笔记
- # -*- coding: utf-8 -*-
- __author__ = u'东方耀 微信:dfy_88888'
- __date__ = '2019/4/25 11:07'
- __product__ = 'PyCharm'
- __filename__ = '01_dcgan'
- """
- dcgan mnist 图片生成问题
- 1、data provider 封装dataset (图片 random vector)
- 2、模型构建 数据流图 G D DCGAN汇总G与D
- 3、执行训练代码 sess.run 将前面两部融合的过程
- """
- import os
- import sys
- import tensorflow as tf
- from tensorflow import logging
- from tensorflow import gfile
- import numpy as np
- import pprint
- from PIL import Image
- from tensorflow.examples.tutorials.mnist import input_data
- logging.set_verbosity(logging.INFO)
- # 只用到里面的图像 labels无所谓 也就是one_hot随便的
- mnist = input_data.read_data_sets(train_dir='mnist_data', one_hot=True)
- output_dir = './mnist_data/dcgan_train_output'
- if not gfile.Exists(output_dir):
- gfile.MakeDirs(output_dir)
- # 样本数 55000
- logging.info(mnist.train.num_examples)
- # images 特征矩阵 784个特征属性 是28*28像素的
- logging.info(mnist.train.images.shape)
- # labels 目标属性10个 刚好是10个数字 进行了哑编码one_hot=True
- logging.info(mnist.train.labels.shape)
- def get_default_params():
- return tf.contrib.training.HParams(
- # 随机向量的长度
- random_vector_size=100,
- # 随机向量变成卷积层的输出格式[NHWC]时候的 图片大小(类似)H=W=4
- init_conv_size=4,
- # 生成器的各个反卷积层的通道数目
- # 为什么最后是1通道而不是3通道 因为使用的数据集是黑白图片是1通道的 而彩色图片才是3通道的
- # g中128的通道是用在随机向量上的 64 32 1就是三个反卷积的通道
- # 经过三个反卷积后 初始的init_conv_size=4 就变成了32的大小了 图片大小 32 = 4*2*2*2 乘3个2即可
- g_channels=[128, 64, 32, 1],
- d_channels=[32, 64, 128, 256],
- batch_size=128,
- learning_rate=0.002,
- # 这是Adam优化器的
- beta1=0.5,
- # 要生成图像的大小 32*32
- img_size=32,
- keep_prob_train=0.8,
- keep_prob_test=1.0,
- # log打印的频率
- sample_log_frequency=50,
- )
- hps = get_default_params()
- logging.info(hps.img_size)
- logging.info(hps.g_channels)
复制代码
|
-
1.png
(202.01 KB, 下载次数: 300)
-
2.png
(333.56 KB, 下载次数: 302)
-
3.png
(252.66 KB, 下载次数: 303)
|