本文主要是介绍tensorflow1.1/GAN生成对抗网络,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
环境:tensorflow1.1,python3, matplotlib2.02
生成式对抗网络(GAN)是近年来大热的深度学习模型,以生成图片为例进行说明。假设我们有两个网络,G(Generator)和D(Discriminator)G是一个生成图片的网络,它接收一个随机的噪声z,通过这个噪声生成图片,记做G(z)。D是一个判别网络,判别一张图片是不是“真实的”。它的输入参数是x,x代表一张图片,输出D(x)代表x为真实图片的概率,如果为1,就代表100%是真实的图片,而输出为0,就代表不可能是真实的图片。
在训练过程中,生成网络G的目标就是尽量生成真实的图片去欺骗判别网络D。而D的目标就是尽量把G生成的图片和真实的图片分别开来。这样,G和D构成了一个动态的“博弈过程”。
在最理想的状态下,G可以生成足以“以假乱真”的图片G(z)。对于D来说,它难以判定G生成的图片究竟是不是真实的,因此D(G(z)) = 0.5
#coding:utf-8
"""
python 3
tensorflow 1.1
"""
import tensorflow as tf
import matplotlib.pyplot as plt
import numpy as np
import input_datamnist = input_data.read_data_sets('mnist/',one_hot=True)
total_epoch = 100
batch_size = 100
learning_rate = 0.0002
n_hidden = 256
n_input = 28*28
n_noise = 128#Descriminator网络输入图片形状
x = tf.placeholder(tf.float
这篇关于tensorflow1.1/GAN生成对抗网络的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!