失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 机器学习笔记——生成式对抗网络GAN

机器学习笔记——生成式对抗网络GAN

时间:2022-04-14 09:03:30

相关推荐

机器学习笔记——生成式对抗网络GAN

前言

今天下午我们一起学习有趣的生成式对抗网络GAN。

GAN介绍

生成对抗网络(Generative Adversarial Networks,GAN)最早由 Ian Goodfellow 在 年提出,是目前深度学习领域最具潜力的研究成果之一。它的核心思想是:同时训练两个相互协作、同时又相互竞争的深度神经网络(一个称为生成器 Generator,另一个称为判别器 Discriminator)来处理无监督学习的相关问题。

通常,我们会用下面这个例子来说明 GAN 的原理:将警察视为判别器,制造假币的犯罪分子视为生成器。一开始,犯罪分子会首先向警察展示一张假币。警察识别出该假币,并向犯罪分子反馈哪些地方是假的。接着,根据警察的反馈,犯罪分子改进工艺,制作一张更逼真的假币给警方检查。这时警方再反馈,犯罪分子再改进工艺。不断重复这一过程,直到警察识别不出真假,那么模型就训练成功了。

GAN的变体非常多,我们就以深度卷积生成对抗网络(Deep Convolutional GAN,DCGAN)为例,自动生成 MNIST 手写体数字。

判别器

判别器的作用是判断一个模型生成的图像和真实图像比,有多逼真。它的基本结构就是如下图所示的卷积神经网络(Convolutional Neural Network,CNN)。对于 MNIST 数据集来说,模型输入是一个 28x28 像素的单通道图像。Sigmoid 函数的输出值在 0-1 之间,表示图像真实度的概率,其中 0 表示肯定是假的,1 表示肯定是真的。与典型的 CNN 结构相比,这里去掉了层之间的 max-pooling。这里每个 CNN 层都以 LeakyReLU 为激活函数。而且为了防止过拟合,层之间的 dropout 值均被设置在 0.4-0.7 之间,模型结构如下:

ReLU激活函数极为f(x)=alpha * x for x < 0, f(x) = x for x>=0。alpha是一个小的非零数。在我以前的学习中,LeakyReLU一般和BN结合使用来防止过拟合这里把他俩分开了我不是特别理解。

生成器

生成器的作用是合成假的图像,其基本机构如下图所示。图中,我们使用了卷积的倒数,即转置卷积(transposed convolution),从 100 维的噪声(满足 -1 至 1 之间的均匀分布)中生成了假图像。这里我们采用了模型前三层之间的上采样来合成更逼真的手写图像。在层与层之间,我们采用了批量归一化的方法来平稳化训练过程。以 ReLU 函数为每一层结构之后的激活函数。最后一层 Sigmoid 函数输出最后的假图像。第一层设置了 0.3-0.5 之间的 dropout 值来防止过拟合。

批量正则化:(这就是BN)

GAN应用

1.图像生成:http://make.girls.moe/。

2.向量空间运算

3.文本转图像

4.超分辨率

主干代码

完整代码我会放在下载里,好像是没法设置0积分我只能设置1积分,这里说声抱歉,这里附上主干代码,基本就是完整的,只少了两个展示效果。

import numpy as npfrom keras.datasets import mnistfrom keras.models import Sequentialfrom keras.layers import Dense, Activation, Flatten, Reshapefrom keras.layers import Conv2D, Conv2DTranspose, UpSampling2Dfrom keras.layers import LeakyReLU, Dropoutfrom keras.layers import BatchNormalizationfrom keras.optimizers import RMSpropimport matplotlib.pyplot as pltclass DCGAN(object):def __init__(self, img_rows=28, img_cols=28, channel=1):# 初始化图片的行列通道数self.img_rows = img_rowsself.img_cols = img_colsself.channel = channelself.D = None # discriminator 判别器self.G = None # generator 生成器self.AM = None # adversarial model 对抗模型self.DM = None # discriminator model 判别模型# 判别模型def discriminator(self):if self.D:return self.Dself.D = Sequential()# 定义通道数64depth = 64# dropout系数dropout = 0.4# 输入28*28*1input_shape = (self.img_rows, self.img_cols, self.channel)# 输出14*14*64self.D.add(Conv2D(depth*1, 5, strides=2, input_shape=input_shape, padding='same'))self.D.add(LeakyReLU(alpha=0.2))self.D.add(Dropout(dropout))# 输出7*7*128self.D.add(Conv2D(depth*2, 5, strides=2, padding='same'))self.D.add(LeakyReLU(alpha=0.2))self.D.add(Dropout(dropout))# 输出4*4*256self.D.add(Conv2D(depth*4, 5, strides=2, padding='same'))self.D.add(LeakyReLU(alpha=0.2))self.D.add(Dropout(dropout))# 输出4*4*512self.D.add(Conv2D(depth*8, 5, strides=1, padding='same'))self.D.add(LeakyReLU(alpha=0.2))self.D.add(Dropout(dropout))# 全连接层self.D.add(Flatten())self.D.add(Dense(1))self.D.add(Activation('sigmoid'))self.D.summary()return self.D# 生成模型def generator(self):if self.G:return self.Gself.G = Sequential()# dropout系数dropout = 0.4# 通道数256depth = 64*4# 初始平面大小设置dim = 7# 全连接层,100个的随机噪声数据,7*7*256个神经网络self.G.add(Dense(dim*dim*depth, input_dim=100))self.G.add(BatchNormalization(momentum=0.9))self.G.add(Activation('relu'))# 把1维的向量变成3维数据(7,7,256)self.G.add(Reshape((dim, dim, depth)))self.G.add(Dropout(dropout))# 用法和 MaxPooling2D 基本相反,比如:UpSampling2D(size=(2, 2))# 就相当于将输入图片的长宽各拉伸一倍,整个图片被放大了# 上采样,采样后得到数据格式(14,14,256)self.G.add(UpSampling2D()) # 转置卷积,得到数据格式(14,14,128) self.G.add(Conv2DTranspose(int(depth/2), 5, padding='same')) self.G.add(BatchNormalization(momentum=0.9))self.G.add(Activation('relu'))# 上采样,采样后得到数据格式(28,28,128)self.G.add(UpSampling2D()) # 转置卷积,得到数据格式(28,28,64) self.G.add(Conv2DTranspose(int(depth/4), 5, padding='same'))self.G.add(BatchNormalization(momentum=0.9))self.G.add(Activation('relu'))# 转置卷积,得到数据格式(28,28,32) self.G.add(Conv2DTranspose(int(depth/8), 5, padding='same')) self.G.add(BatchNormalization(momentum=0.9))self.G.add(Activation('relu'))# 转置卷积,得到数据格式(28,28,1) self.G.add(Conv2DTranspose(1, 5, padding='same'))self.G.add(Activation('sigmoid'))self.G.summary()return self.G# 定义判别模型def discriminator_model(self):if self.DM:return self.DM# 定义优化器optimizer = RMSprop(lr=0.0002, decay=6e-8)# 构建模型self.DM = Sequential()self.DM.add(self.discriminator())pile(loss='binary_crossentropy', optimizer=optimizer, metrics=['accuracy'])return self.DM# 定义对抗模型def adversarial_model(self):if self.AM:return self.AM# 定义优化器optimizer = RMSprop(lr=0.0001, decay=3e-8)# 构建模型self.AM = Sequential()# 生成器self.AM.add(self.generator())# 判别器self.AM.add(self.discriminator())pile(loss='binary_crossentropy', optimizer=optimizer, metrics=['accuracy'])return self.AMclass MNIST_DCGAN(object):def __init__(self):# 图片的行数self.img_rows = 28# 图片的列数self.img_cols = 28# 图片的通道数self.channel = 1# 载入数据(x_train,y_train),(x_test,y_test) = mnist.load_data()# (60000,28,28)self.x_train = x_train/255.0# 改变数据格式(samples, rows, cols, channel)(60000,28,28,1)self.x_train = self.x_train.reshape(-1, self.img_rows, self.img_cols, 1).astype(np.float32)# 实例化DCGAN类self.DCGAN = DCGAN()# 定义判别器模型self.discriminator = self.DCGAN.discriminator_model()# 定义对抗模型self.adversarial = self.DCGAN.adversarial_model()# 定义生成器self.generator = self.DCGAN.generator()# 训练模型def train(self, train_steps=2000, batch_size=256, save_interval=0):noise_input = Noneif save_interval>0:# 生成16个100维的噪声数据noise_input = np.random.uniform(-1.0, 1.0, size=[16, 100])for i in range(train_steps):# 训练判别器,提升判别能力# 随机得到一个batch的图片数据images_train = self.x_train[np.random.randint(0, self.x_train.shape[0], size=batch_size), :, :, :]# 随机生成一个batch的噪声数据noise = np.random.uniform(-1.0, 1.0, size=[batch_size, 100])# 生成伪造的图片数据images_fake = self.generator.predict(noise)# 合并一个batch的真实图片和一个batch的伪造图片x = np.concatenate((images_train, images_fake))# 定义标签,真实数据的标签为1,伪造数据的标签为0y = np.ones([2*batch_size, 1])y[batch_size:, :] = 0# 把数据放到判别器中进行判断d_loss = self.discriminator.train_on_batch(x, y)# 训练对抗模型,提升生成器的造假能力# 标签都定义为1y = np.ones([batch_size, 1])# 生成一个batch的噪声数据noise = np.random.uniform(-1.0, 1.0, size=[batch_size, 100])# 训练对抗模型a_loss = self.adversarial.train_on_batch(noise, y)# 打印判别器的loss和准确率,以及对抗模型的loss和准确率log_mesg = "%d: [D loss: %f, acc: %f]" % (i, d_loss[0], d_loss[1])log_mesg = "%s [A loss: %f, acc: %f]" % (log_mesg, a_loss[0], a_loss[1])print(log_mesg)# 如果需要保存图片if save_interval>0:# 每save_interval次保存一次if (i+1)%save_interval==0:self.plot_images(save2file=True, samples=noise_input.shape[0], noise=noise_input, step=(i+1))# 保存图片def plot_images(self, save2file=False, fake=True, samples=16, noise=None, step=0):filename = 'mnist.png'if fake:if noise is None:noise = np.random.uniform(-1.0, 1.0, size=[samples, 100])else:filename = "mnist_%d.png" % step# 生成伪造的图片数据images = self.generator.predict(noise)else:# 获得真实图片数据i = np.random.randint(0, self.x_train.shape[0], samples)images = self.x_train[i, :, :, :]# 设置图片大小plt.figure(figsize=(10,10))# 生成16张图片for i in range(images.shape[0]):plt.subplot(4, 4, i+1)# 获取一个张图片数据image = images[i, :, :, :]# 变成2维的图片image = np.reshape(image, [self.img_rows, self.img_cols])# 显示灰度图片plt.imshow(image, cmap='gray')# 不显示坐标轴plt.axis('off')# 保存图片if save2file:plt.savefig(filename)plt.close('all')# 不保存的话就显示图片else:plt.show()# 实例化网络的类mnist_dcgan = MNIST_DCGAN()# 训练模型mnist_dcgan.train(train_steps=10000, batch_size=256, save_interval=500)

结果分析

其实到写这篇博客为止我还没有跑完,我的电脑太次了,我只能更根据他们跑过的结果给大家分析一下。首先,我们分析一下,训练过程,我们要进行两个不同的训练,分别是判别器的训练和对抗模型的训练。也就是先让我们的“警察”变得更强,然后再去训练“小偷(犯罪分子,因为更形象所以以后都用小偷)”。重复这个过程,最后我们的目的是让小偷变成“神偷”。

我们打印一部分结果:

Successfully downloaded train-images-idx3-ubyte.gz 9912422 bytes.Extracting mnist\train-images-idx3-ubyte.gzSuccessfully downloaded train-labels-idx1-ubyte.gz 28881 bytes.Extracting mnist\train-labels-idx1-ubyte.gzSuccessfully downloaded t10k-images-idx3-ubyte.gz 1648877 bytes.Extracting mnist\t10k-images-idx3-ubyte.gzSuccessfully downloaded t10k-labels-idx1-ubyte.gz 4542 bytes.Extracting mnist\t10k-labels-idx1-ubyte.gz_________________________________________________________________Layer (type) Output Shape Param # =================================================================conv2d_1 (Conv2D) (None, 14, 14, 64) 1664_________________________________________________________________leaky_re_lu_1 (LeakyReLU) (None, 14, 14, 64) 0 _________________________________________________________________dropout_1 (Dropout)(None, 14, 14, 64) 0 _________________________________________________________________conv2d_2 (Conv2D) (None, 7, 7, 128) 204928 _________________________________________________________________leaky_re_lu_2 (LeakyReLU) (None, 7, 7, 128) 0 _________________________________________________________________dropout_2 (Dropout)(None, 7, 7, 128) 0 _________________________________________________________________conv2d_3 (Conv2D) (None, 4, 4, 256) 819456 _________________________________________________________________leaky_re_lu_3 (LeakyReLU) (None, 4, 4, 256) 0 _________________________________________________________________dropout_3 (Dropout)(None, 4, 4, 256) 0 _________________________________________________________________conv2d_4 (Conv2D) (None, 4, 4, 512) 3277312 _________________________________________________________________leaky_re_lu_4 (LeakyReLU) (None, 4, 4, 512) 0 _________________________________________________________________dropout_4 (Dropout)(None, 4, 4, 512) 0 _________________________________________________________________flatten_1 (Flatten)(None, 8192) 0 _________________________________________________________________dense_1 (Dense) (None, 1) 8193_________________________________________________________________activation_1 (Activation) (None, 1) 0 =================================================================Total params: 4,311,553Trainable params: 4,311,553Non-trainable params: 0__________________________________________________________________________________________________________________________________Layer (type) Output Shape Param # =================================================================dense_2 (Dense) (None, 12544) 1266944 _________________________________________________________________batch_normalization_1 (Batch (None, 12544) 50176_________________________________________________________________activation_2 (Activation) (None, 12544) 0 _________________________________________________________________reshape_1 (Reshape)(None, 7, 7, 256) 0 _________________________________________________________________dropout_5 (Dropout)(None, 7, 7, 256) 0 _________________________________________________________________up_sampling2d_1 (UpSampling2 (None, 14, 14, 256) 0 _________________________________________________________________conv2d_transpose_1 (Conv2DTr (None, 14, 14, 128) 819328 _________________________________________________________________batch_normalization_2 (Batch (None, 14, 14, 128) 512 _________________________________________________________________activation_3 (Activation) (None, 14, 14, 128) 0 _________________________________________________________________up_sampling2d_2 (UpSampling2 (None, 28, 28, 128) 0 _________________________________________________________________conv2d_transpose_2 (Conv2DTr (None, 28, 28, 64) 204864 _________________________________________________________________batch_normalization_3 (Batch (None, 28, 28, 64) 256 _________________________________________________________________activation_4 (Activation) (None, 28, 28, 64) 0 _________________________________________________________________conv2d_transpose_3 (Conv2DTr (None, 28, 28, 32) 51232_________________________________________________________________batch_normalization_4 (Batch (None, 28, 28, 32) 128 _________________________________________________________________activation_5 (Activation) (None, 28, 28, 32) 0 _________________________________________________________________conv2d_transpose_4 (Conv2DTr (None, 28, 28, 1) 801 _________________________________________________________________activation_6 (Activation) (None, 28, 28, 1) 0 =================================================================Total params: 2,394,241Trainable params: 2,368,705Non-trainable params: 25,536_________________________________________________________________0: [D loss: 0.691503, acc: 0.509766] [A loss: 1.231536, acc: 0.000000]1: [D loss: 0.648653, acc: 0.548828] [A loss: 1.004777, acc: 0.000000]2: [D loss: 0.596343, acc: 0.515625] [A loss: 1.437418, acc: 0.000000]3: [D loss: 0.592514, acc: 0.843750] [A loss: 1.165042, acc: 0.000000]4: [D loss: 0.474580, acc: 0.982422] [A loss: 1.572894, acc: 0.000000]5: [D loss: 0.524854, acc: 0.693359] [A loss: 2.045968, acc: 0.000000]6: [D loss: 0.607588, acc: 0.810547] [A loss: 0.921388, acc: 0.015625]7: [D loss: 0.671562, acc: 0.500000] [A loss: 1.372429, acc: 0.000000]8: [D loss: 0.520482, acc: 0.906250] [A loss: 1.128514, acc: 0.000000]9: [D loss: 0.434005, acc: 0.986328] [A loss: 1.172277, acc: 0.000000]10: [D loss: 0.443416, acc: 0.644531] [A loss: 1.703157, acc: 0.000000]11: [D loss: 0.382728, acc: 0.996094] [A loss: 1.243012, acc: 0.000000]12: [D loss: 0.537050, acc: 0.505859] [A loss: 2.008118, acc: 0.000000]13: [D loss: 0.472494, acc: 0.931641] [A loss: 1.150631, acc: 0.000000]14: [D loss: 0.390675, acc: 0.759766] [A loss: 1.370212, acc: 0.000000]15: [D loss: 0.326801, acc: 0.978516] [A loss: 1.478633, acc: 0.000000]16: [D loss: 0.324425, acc: 0.916016] [A loss: 1.741925, acc: 0.000000]17: [D loss: 0.298051, acc: 0.990234] [A loss: 1.635591, acc: 0.000000]18: [D loss: 0.299104, acc: 0.947266] [A loss: 1.917285, acc: 0.000000]19: [D loss: 0.267050, acc: 0.998047] [A loss: 1.520450, acc: 0.000000]20: [D loss: 0.366637, acc: 0.742188] [A loss: 2.631558, acc: 0.000000]21: [D loss: 0.433646, acc: 0.892578] [A loss: 1.052351, acc: 0.027344]22: [D loss: 0.617413, acc: 0.515625] [A loss: 1.846913, acc: 0.000000]23: [D loss: 0.278645, acc: 0.990234] [A loss: 1.351792, acc: 0.000000]24: [D loss: 0.279705, acc: 0.947266] [A loss: 1.632707, acc: 0.000000]25: [D loss: 0.236295, acc: 0.980469] [A loss: 1.755901, acc: 0.000000]26: [D loss: 0.250655, acc: 0.949219] [A loss: 1.947745, acc: 0.000000]27: [D loss: 0.224082, acc: 0.972656] [A loss: 1.925455, acc: 0.000000]28: [D loss: 0.228702, acc: 0.957031] [A loss: 2.121093, acc: 0.000000]29: [D loss: 0.183285, acc: 0.990234] [A loss: 1.802444, acc: 0.003906]30: [D loss: 0.240770, acc: 0.912109] [A loss: 2.647219, acc: 0.000000]31: [D loss: 0.263249, acc: 0.923828] [A loss: 0.990316, acc: 0.210938]32: [D loss: 0.990905, acc: 0.507812] [A loss: 2.862743, acc: 0.000000]33: [D loss: 0.431388, acc: 0.785156] [A loss: 1.073982, acc: 0.078125]34: [D loss: 0.358037, acc: 0.789062] [A loss: 1.360353, acc: 0.011719]35: [D loss: 0.240701, acc: 0.937500] [A loss: 1.453409, acc: 0.019531]36: [D loss: 0.277398, acc: 0.886719] [A loss: 1.705918, acc: 0.000000]37: [D loss: 0.241611, acc: 0.916016] [A loss: 1.769321, acc: 0.000000]38: [D loss: 0.253498, acc: 0.910156] [A loss: 1.983329, acc: 0.000000]39: [D loss: 0.225967, acc: 0.937500] [A loss: 1.657594, acc: 0.007812]40: [D loss: 0.273817, acc: 0.863281] [A loss: 2.194973, acc: 0.000000]41: [D loss: 0.221860, acc: 0.937500] [A loss: 1.231366, acc: 0.117188]42: [D loss: 0.506532, acc: 0.693359] [A loss: 2.995471, acc: 0.000000]43: [D loss: 0.495057, acc: 0.800781] [A loss: 0.590665, acc: 0.667969]44: [D loss: 0.826440, acc: 0.544922] [A loss: 1.846615, acc: 0.000000]45: [D loss: 0.240079, acc: 0.955078] [A loss: 1.020400, acc: 0.167969]46: [D loss: 0.429716, acc: 0.730469] [A loss: 1.589278, acc: 0.003906]47: [D loss: 0.238475, acc: 0.947266] [A loss: 1.356752, acc: 0.031250]48: [D loss: 0.344801, acc: 0.822266] [A loss: 1.712172, acc: 0.000000]49: [D loss: 0.259987, acc: 0.925781] [A loss: 1.410086, acc: 0.031250]50: [D loss: 0.384457, acc: 0.775391] [A loss: 2.109657, acc: 0.000000]51: [D loss: 0.296866, acc: 0.933594] [A loss: 0.972942, acc: 0.214844]52: [D loss: 0.579416, acc: 0.615234] [A loss: 2.511665, acc: 0.000000]53: [D loss: 0.370514, acc: 0.871094] [A loss: 0.617159, acc: 0.640625]54: [D loss: 0.769498, acc: 0.521484] [A loss: 1.882442, acc: 0.000000]55: [D loss: 0.259458, acc: 0.962891] [A loss: 1.124723, acc: 0.058594]56: [D loss: 0.430123, acc: 0.708984] [A loss: 1.732257, acc: 0.000000]57: [D loss: 0.313927, acc: 0.929688] [A loss: 1.152099, acc: 0.058594]58: [D loss: 0.470944, acc: 0.654297] [A loss: 1.974094, acc: 0.000000]59: [D loss: 0.327888, acc: 0.931641] [A loss: 0.991130, acc: 0.140625]60: [D loss: 0.639045, acc: 0.548828] [A loss: 2.348823, acc: 0.000000]61: [D loss: 0.384606, acc: 0.886719] [A loss: 0.701185, acc: 0.500000]62: [D loss: 0.782717, acc: 0.509766] [A loss: 1.906247, acc: 0.000000]63: [D loss: 0.350297, acc: 0.949219] [A loss: 1.011624, acc: 0.117188]64: [D loss: 0.546892, acc: 0.558594] [A loss: 1.799624, acc: 0.000000]65: [D loss: 0.384208, acc: 0.894531] [A loss: 1.125789, acc: 0.023438]66: [D loss: 0.565075, acc: 0.568359] [A loss: 2.057138, acc: 0.000000]67: [D loss: 0.409379, acc: 0.916016] [A loss: 0.877637, acc: 0.234375]68: [D loss: 0.689376, acc: 0.509766] [A loss: 2.064061, acc: 0.000000]69: [D loss: 0.403014, acc: 0.923828] [A loss: 0.860366, acc: 0.246094]70: [D loss: 0.700391, acc: 0.505859] [A loss: 2.017132, acc: 0.000000]71: [D loss: 0.420937, acc: 0.904297] [A loss: 0.904990, acc: 0.167969]72: [D loss: 0.658957, acc: 0.517578] [A loss: 1.933370, acc: 0.000000]73: [D loss: 0.439174, acc: 0.884766] [A loss: 0.918563, acc: 0.199219]74: [D loss: 0.633506, acc: 0.525391] [A loss: 2.004735, acc: 0.000000]75: [D loss: 0.437182, acc: 0.896484] [A loss: 0.876891, acc: 0.238281]76: [D loss: 0.677424, acc: 0.503906] [A loss: 2.020369, acc: 0.000000]77: [D loss: 0.430446, acc: 0.906250] [A loss: 0.815220, acc: 0.281250]78: [D loss: 0.690905, acc: 0.503906] [A loss: 2.050816, acc: 0.000000]79: [D loss: 0.445981, acc: 0.908203] [A loss: 0.799167, acc: 0.296875]80: [D loss: 0.684389, acc: 0.509766] [A loss: 1.916862, acc: 0.000000]81: [D loss: 0.447047, acc: 0.902344] [A loss: 0.813182, acc: 0.312500]82: [D loss: 0.681568, acc: 0.507812] [A loss: 1.950821, acc: 0.000000]83: [D loss: 0.440485, acc: 0.912109] [A loss: 0.906062, acc: 0.175781]84: [D loss: 0.621085, acc: 0.519531] [A loss: 1.890153, acc: 0.000000]85: [D loss: 0.440503, acc: 0.888672] [A loss: 0.945012, acc: 0.167969]86: [D loss: 0.620250, acc: 0.525391] [A loss: 2.101747, acc: 0.000000]87: [D loss: 0.457391, acc: 0.902344] [A loss: 0.709829, acc: 0.480469]88: [D loss: 0.733050, acc: 0.503906] [A loss: 2.112121, acc: 0.000000]89: [D loss: 0.458123, acc: 0.888672] [A loss: 0.705255, acc: 0.464844]90: [D loss: 0.700676, acc: 0.507812] [A loss: 1.904836, acc: 0.000000]91: [D loss: 0.452364, acc: 0.906250] [A loss: 0.805733, acc: 0.316406]92: [D loss: 0.647448, acc: 0.507812] [A loss: 1.923860, acc: 0.000000]93: [D loss: 0.451022, acc: 0.916016] [A loss: 0.832103, acc: 0.253906]94: [D loss: 0.658411, acc: 0.515625] [A loss: 2.052168, acc: 0.000000]95: [D loss: 0.438787, acc: 0.929688] [A loss: 0.815914, acc: 0.308594]96: [D loss: 0.659617, acc: 0.507812] [A loss: 2.098220, acc: 0.000000]97: [D loss: 0.448281, acc: 0.902344] [A loss: 0.803287, acc: 0.320312]98: [D loss: 0.671589, acc: 0.509766] [A loss: 2.052079, acc: 0.000000]99: [D loss: 0.449434, acc: 0.898438] [A loss: 0.775447, acc: 0.367188]100: [D loss: 0.694258, acc: 0.507812] [A loss: 2.082814, acc: 0.000000]101: [D loss: 0.472326, acc: 0.886719] [A loss: 0.704720, acc: 0.503906]102: [D loss: 0.714512, acc: 0.505859] [A loss: 1.996335, acc: 0.000000]103: [D loss: 0.465975, acc: 0.882812] [A loss: 0.700260, acc: 0.519531]104: [D loss: 0.719334, acc: 0.500000] [A loss: 1.992613, acc: 0.000000]105: [D loss: 0.458248, acc: 0.902344] [A loss: 0.829929, acc: 0.277344]106: [D loss: 0.702113, acc: 0.507812] [A loss: 2.078796, acc: 0.000000]107: [D loss: 0.478760, acc: 0.888672] [A loss: 0.795521, acc: 0.320312]108: [D loss: 0.707462, acc: 0.501953] [A loss: 2.077059, acc: 0.000000]109: [D loss: 0.508267, acc: 0.833984] [A loss: 0.736822, acc: 0.480469]110: [D loss: 0.726499, acc: 0.501953] [A loss: 2.034654, acc: 0.000000]111: [D loss: 0.486403, acc: 0.876953] [A loss: 0.773986, acc: 0.375000]112: [D loss: 0.720257, acc: 0.500000] [A loss: 2.039338, acc: 0.000000]113: [D loss: 0.508873, acc: 0.833984] [A loss: 0.771436, acc: 0.398438]114: [D loss: 0.699827, acc: 0.505859] [A loss: 1.971889, acc: 0.000000]115: [D loss: 0.535446, acc: 0.796875] [A loss: 0.780918, acc: 0.335938]116: [D loss: 0.735963, acc: 0.501953] [A loss: 2.047856, acc: 0.000000]117: [D loss: 0.532679, acc: 0.806641] [A loss: 0.758681, acc: 0.402344]118: [D loss: 0.748309, acc: 0.507812] [A loss: 2.047386, acc: 0.000000]119: [D loss: 0.545521, acc: 0.783203] [A loss: 0.733404, acc: 0.429688]120: [D loss: 0.743108, acc: 0.501953] [A loss: 1.937115, acc: 0.000000]121: [D loss: 0.565786, acc: 0.765625] [A loss: 0.775433, acc: 0.390625]122: [D loss: 0.754094, acc: 0.503906] [A loss: 2.029332, acc: 0.000000]123: [D loss: 0.568998, acc: 0.763672] [A loss: 0.752774, acc: 0.398438]124: [D loss: 0.768901, acc: 0.505859] [A loss: 2.115191, acc: 0.000000]125: [D loss: 0.575241, acc: 0.751953] [A loss: 0.712867, acc: 0.468750]126: [D loss: 0.764882, acc: 0.503906] [A loss: 1.926544, acc: 0.000000]127: [D loss: 0.564186, acc: 0.775391] [A loss: 0.796656, acc: 0.316406]128: [D loss: 0.731247, acc: 0.501953] [A loss: 1.915877, acc: 0.000000]129: [D loss: 0.559361, acc: 0.785156] [A loss: 0.896263, acc: 0.175781]130: [D loss: 0.718427, acc: 0.517578] [A loss: 2.125160, acc: 0.000000]131: [D loss: 0.555089, acc: 0.763672] [A loss: 0.735170, acc: 0.449219]132: [D loss: 0.776140, acc: 0.498047] [A loss: 2.221849, acc: 0.000000]133: [D loss: 0.593860, acc: 0.707031] [A loss: 0.613928, acc: 0.679688]134: [D loss: 0.810136, acc: 0.496094] [A loss: 1.733192, acc: 0.000000]135: [D loss: 0.573212, acc: 0.767578] [A loss: 0.887116, acc: 0.167969]136: [D loss: 0.696365, acc: 0.503906] [A loss: 1.792508, acc: 0.000000]137: [D loss: 0.560364, acc: 0.789062] [A loss: 1.007125, acc: 0.093750]138: [D loss: 0.677562, acc: 0.525391] [A loss: 2.061942, acc: 0.000000]139: [D loss: 0.566491, acc: 0.773438] [A loss: 0.753326, acc: 0.425781]140: [D loss: 0.774658, acc: 0.503906] [A loss: 2.188344, acc: 0.000000]141: [D loss: 0.617926, acc: 0.673828] [A loss: 0.557792, acc: 0.816406]142: [D loss: 0.837046, acc: 0.494141] [A loss: 1.679428, acc: 0.000000]143: [D loss: 0.578102, acc: 0.775391] [A loss: 0.876964, acc: 0.187500]144: [D loss: 0.666602, acc: 0.517578] [A loss: 1.605749, acc: 0.000000]145: [D loss: 0.593821, acc: 0.705078] [A loss: 0.979484, acc: 0.074219]146: [D loss: 0.655855, acc: 0.527344] [A loss: 1.861180, acc: 0.000000]147: [D loss: 0.586890, acc: 0.761719] [A loss: 0.713094, acc: 0.457031]148: [D loss: 0.747398, acc: 0.509766] [A loss: 2.095814, acc: 0.000000]149: [D loss: 0.611762, acc: 0.689453] [A loss: 0.568410, acc: 0.789062]150: [D loss: 0.801940, acc: 0.500000] [A loss: 1.570221, acc: 0.000000]151: [D loss: 0.591073, acc: 0.750000] [A loss: 0.849759, acc: 0.222656]152: [D loss: 0.656044, acc: 0.517578] [A loss: 1.549002, acc: 0.000000]153: [D loss: 0.576636, acc: 0.728516] [A loss: 0.988255, acc: 0.113281]154: [D loss: 0.640300, acc: 0.537109] [A loss: 1.627752, acc: 0.000000]155: [D loss: 0.557738, acc: 0.806641] [A loss: 0.777479, acc: 0.328125]156: [D loss: 0.705224, acc: 0.500000] [A loss: 1.894259, acc: 0.000000]157: [D loss: 0.585216, acc: 0.716797] [A loss: 0.593588, acc: 0.726562]158: [D loss: 0.767763, acc: 0.496094] [A loss: 1.704471, acc: 0.000000]159: [D loss: 0.589467, acc: 0.722656] [A loss: 0.697022, acc: 0.464844]160: [D loss: 0.700470, acc: 0.500000] [A loss: 1.498897, acc: 0.000000]161: [D loss: 0.562630, acc: 0.796875] [A loss: 0.852995, acc: 0.207031]162: [D loss: 0.640407, acc: 0.515625] [A loss: 1.593685, acc: 0.000000]163: [D loss: 0.566859, acc: 0.751953] [A loss: 0.791467, acc: 0.324219]164: [D loss: 0.671670, acc: 0.513672] [A loss: 1.831024, acc: 0.000000]165: [D loss: 0.575037, acc: 0.750000] [A loss: 0.632219, acc: 0.687500]166: [D loss: 0.737036, acc: 0.500000] [A loss: 1.722258, acc: 0.000000]167: [D loss: 0.563757, acc: 0.777344] [A loss: 0.713480, acc: 0.460938]168: [D loss: 0.675642, acc: 0.505859] [A loss: 1.523493, acc: 0.000000]169: [D loss: 0.560679, acc: 0.787109] [A loss: 0.730296, acc: 0.421875]170: [D loss: 0.653577, acc: 0.523438] [A loss: 1.702063, acc: 0.000000]171: [D loss: 0.561906, acc: 0.798828] [A loss: 0.664845, acc: 0.578125]172: [D loss: 0.698300, acc: 0.509766] [A loss: 1.723585, acc: 0.000000]173: [D loss: 0.541326, acc: 0.826172] [A loss: 0.709710, acc: 0.476562]174: [D loss: 0.694211, acc: 0.505859] [A loss: 1.701803, acc: 0.000000]175: [D loss: 0.548754, acc: 0.806641] [A loss: 0.673307, acc: 0.574219]176: [D loss: 0.678137, acc: 0.517578] [A loss: 1.591114, acc: 0.000000]177: [D loss: 0.538395, acc: 0.826172] [A loss: 0.824897, acc: 0.250000]178: [D loss: 0.676258, acc: 0.519531] [A loss: 1.867238, acc: 0.000000]179: [D loss: 0.567595, acc: 0.751953] [A loss: 0.609377, acc: 0.710938]180: [D loss: 0.723833, acc: 0.503906] [A loss: 1.589976, acc: 0.000000]181: [D loss: 0.570847, acc: 0.791016] [A loss: 0.784557, acc: 0.312500]182: [D loss: 0.674772, acc: 0.521484] [A loss: 1.637760, acc: 0.000000]183: [D loss: 0.545820, acc: 0.833984] [A loss: 0.815327, acc: 0.253906]184: [D loss: 0.650002, acc: 0.527344] [A loss: 1.694071, acc: 0.000000]185: [D loss: 0.559047, acc: 0.783203] [A loss: 0.684570, acc: 0.550781]186: [D loss: 0.713607, acc: 0.503906] [A loss: 1.838257, acc: 0.000000]187: [D loss: 0.567683, acc: 0.730469] [A loss: 0.626130, acc: 0.675781]188: [D loss: 0.722959, acc: 0.503906] [A loss: 1.648201, acc: 0.000000]189: [D loss: 0.575623, acc: 0.777344] [A loss: 0.710549, acc: 0.503906]190: [D loss: 0.679402, acc: 0.527344] [A loss: 1.537004, acc: 0.000000]191: [D loss: 0.570763, acc: 0.783203] [A loss: 0.822068, acc: 0.277344]192: [D loss: 0.694234, acc: 0.525391] [A loss: 1.666622, acc: 0.000000]193: [D loss: 0.572525, acc: 0.763672] [A loss: 0.705894, acc: 0.503906]194: [D loss: 0.693591, acc: 0.523438] [A loss: 1.578833, acc: 0.000000]195: [D loss: 0.572520, acc: 0.771484] [A loss: 0.752325, acc: 0.421875]196: [D loss: 0.707219, acc: 0.517578] [A loss: 1.623304, acc: 0.000000]197: [D loss: 0.571517, acc: 0.771484] [A loss: 0.724463, acc: 0.480469]198: [D loss: 0.721095, acc: 0.511719] [A loss: 1.644762, acc: 0.000000]199: [D loss: 0.597435, acc: 0.677734] [A loss: 0.671912, acc: 0.585938]200: [D loss: 0.712119, acc: 0.517578] [A loss: 1.471917, acc: 0.000000]201: [D loss: 0.583933, acc: 0.757812] [A loss: 0.801758, acc: 0.289062]202: [D loss: 0.678271, acc: 0.531250] [A loss: 1.509630, acc: 0.000000]203: [D loss: 0.585138, acc: 0.750000] [A loss: 0.781951, acc: 0.312500]204: [D loss: 0.683118, acc: 0.519531] [A loss: 1.558321, acc: 0.000000]205: [D loss: 0.574745, acc: 0.753906] [A loss: 0.718502, acc: 0.449219]206: [D loss: 0.689886, acc: 0.509766] [A loss: 1.646207, acc: 0.000000]207: [D loss: 0.579706, acc: 0.759766] [A loss: 0.710435, acc: 0.503906]208: [D loss: 0.709791, acc: 0.513672] [A loss: 1.577824, acc: 0.000000]209: [D loss: 0.581872, acc: 0.740234] [A loss: 0.666501, acc: 0.589844]210: [D loss: 0.696718, acc: 0.515625] [A loss: 1.595843, acc: 0.000000]211: [D loss: 0.582528, acc: 0.744141] [A loss: 0.706088, acc: 0.492188]212: [D loss: 0.692366, acc: 0.519531] [A loss: 1.561489, acc: 0.000000]213: [D loss: 0.584884, acc: 0.742188] [A loss: 0.706848, acc: 0.484375]214: [D loss: 0.684679, acc: 0.525391] [A loss: 1.480523, acc: 0.000000]215: [D loss: 0.583968, acc: 0.757812] [A loss: 0.779733, acc: 0.339844]216: [D loss: 0.669083, acc: 0.527344] [A loss: 1.524182, acc: 0.000000]217: [D loss: 0.580016, acc: 0.783203] [A loss: 0.707451, acc: 0.496094]218: [D loss: 0.702822, acc: 0.519531] [A loss: 1.549842, acc: 0.000000]219: [D loss: 0.608712, acc: 0.720703] [A loss: 0.738430, acc: 0.429688]220: [D loss: 0.683573, acc: 0.517578] [A loss: 1.524086, acc: 0.000000]221: [D loss: 0.607246, acc: 0.693359] [A loss: 0.702375, acc: 0.515625]222: [D loss: 0.704177, acc: 0.525391] [A loss: 1.657308, acc: 0.000000]223: [D loss: 0.603331, acc: 0.703125] [A loss: 0.610635, acc: 0.710938]224: [D loss: 0.717118, acc: 0.501953] [A loss: 1.430291, acc: 0.000000]225: [D loss: 0.601408, acc: 0.744141] [A loss: 0.758834, acc: 0.402344]226: [D loss: 0.682414, acc: 0.527344] [A loss: 1.442136, acc: 0.000000]227: [D loss: 0.592158, acc: 0.750000] [A loss: 0.733325, acc: 0.425781]228: [D loss: 0.689754, acc: 0.527344] [A loss: 1.474277, acc: 0.000000]229: [D loss: 0.600397, acc: 0.712891] [A loss: 0.754566, acc: 0.414062]230: [D loss: 0.702799, acc: 0.521484] [A loss: 1.466574, acc: 0.000000]231: [D loss: 0.609971, acc: 0.718750] [A loss: 0.753828, acc: 0.437500]232: [D loss: 0.696546, acc: 0.527344] [A loss: 1.433056, acc: 0.000000]233: [D loss: 0.603584, acc: 0.734375] [A loss: 0.729402, acc: 0.472656]234: [D loss: 0.691293, acc: 0.533203] [A loss: 1.500463, acc: 0.000000]235: [D loss: 0.612721, acc: 0.679688] [A loss: 0.748835, acc: 0.410156]236: [D loss: 0.709877, acc: 0.515625] [A loss: 1.482194, acc: 0.000000]237: [D loss: 0.603751, acc: 0.728516] [A loss: 0.715858, acc: 0.503906]238: [D loss: 0.710946, acc: 0.515625] [A loss: 1.565704, acc: 0.000000]239: [D loss: 0.613677, acc: 0.685547] [A loss: 0.616414, acc: 0.675781]240: [D loss: 0.744525, acc: 0.505859] [A loss: 1.453091, acc: 0.003906]241: [D loss: 0.635414, acc: 0.648438] [A loss: 0.671547, acc: 0.585938]242: [D loss: 0.704229, acc: 0.505859] [A loss: 1.248188, acc: 0.000000]243: [D loss: 0.620378, acc: 0.679688] [A loss: 0.802517, acc: 0.269531]244: [D loss: 0.676368, acc: 0.554688] [A loss: 1.273573, acc: 0.007812]245: [D loss: 0.627741, acc: 0.697266] [A loss: 0.805003, acc: 0.277344]246: [D loss: 0.680954, acc: 0.535156] [A loss: 1.364167, acc: 0.000000]247: [D loss: 0.617311, acc: 0.708984] [A loss: 0.779782, acc: 0.324219]248: [D loss: 0.704194, acc: 0.525391] [A loss: 1.512358, acc: 0.000000]249: [D loss: 0.618787, acc: 0.705078] [A loss: 0.656829, acc: 0.621094]250: [D loss: 0.749846, acc: 0.511719] [A loss: 1.544242, acc: 0.000000]251: [D loss: 0.619732, acc: 0.691406] [A loss: 0.703778, acc: 0.523438]252: [D loss: 0.743708, acc: 0.511719] [A loss: 1.425920, acc: 0.000000]253: [D loss: 0.626959, acc: 0.660156] [A loss: 0.713868, acc: 0.492188]254: [D loss: 0.715720, acc: 0.513672] [A loss: 1.382949, acc: 0.000000]255: [D loss: 0.630420, acc: 0.667969] [A loss: 0.766442, acc: 0.335938]256: [D loss: 0.706938, acc: 0.531250] [A loss: 1.348288, acc: 0.003906]257: [D loss: 0.633038, acc: 0.687500] [A loss: 0.775958, acc: 0.332031]258: [D loss: 0.696131, acc: 0.521484] [A loss: 1.309652, acc: 0.003906]259: [D loss: 0.622492, acc: 0.669922] [A loss: 0.793313, acc: 0.285156]260: [D loss: 0.685976, acc: 0.527344] [A loss: 1.376491, acc: 0.000000]261: [D loss: 0.638133, acc: 0.673828] [A loss: 0.790920, acc: 0.355469]262: [D loss: 0.679706, acc: 0.544922] [A loss: 1.427657, acc: 0.000000]263: [D loss: 0.644071, acc: 0.628906] [A loss: 0.745437, acc: 0.433594]264: [D loss: 0.732221, acc: 0.503906] [A loss: 1.472740, acc: 0.000000]265: [D loss: 0.658985, acc: 0.611328] [A loss: 0.653982, acc: 0.589844]266: [D loss: 0.738794, acc: 0.507812] [A loss: 1.425443, acc: 0.000000]267: [D loss: 0.661236, acc: 0.578125] [A loss: 0.620909, acc: 0.738281]268: [D loss: 0.729037, acc: 0.503906] [A loss: 1.274895, acc: 0.003906]269: [D loss: 0.646045, acc: 0.638672] [A loss: 0.715880, acc: 0.460938]270: [D loss: 0.718505, acc: 0.513672] [A loss: 1.197851, acc: 0.003906]271: [D loss: 0.641561, acc: 0.656250] [A loss: 0.762347, acc: 0.355469]272: [D loss: 0.680380, acc: 0.533203] [A loss: 1.152511, acc: 0.007812]273: [D loss: 0.655355, acc: 0.642578] [A loss: 0.818601, acc: 0.261719]274: [D loss: 0.679781, acc: 0.564453] [A loss: 1.128714, acc: 0.011719]275: [D loss: 0.655671, acc: 0.628906] [A loss: 0.856017, acc: 0.191406]276: [D loss: 0.690292, acc: 0.511719] [A loss: 1.310163, acc: 0.000000]277: [D loss: 0.647914, acc: 0.660156] [A loss: 0.750118, acc: 0.390625]278: [D loss: 0.704151, acc: 0.513672] [A loss: 1.374055, acc: 0.000000]279: [D loss: 0.654893, acc: 0.621094] [A loss: 0.650132, acc: 0.625000]280: [D loss: 0.729345, acc: 0.498047] [A loss: 1.403211, acc: 0.000000]281: [D loss: 0.657251, acc: 0.605469] [A loss: 0.647218, acc: 0.632812]282: [D loss: 0.732492, acc: 0.503906] [A loss: 1.268551, acc: 0.003906]283: [D loss: 0.662744, acc: 0.626953] [A loss: 0.689310, acc: 0.558594]284: [D loss: 0.700425, acc: 0.511719] [A loss: 1.162058, acc: 0.003906]285: [D loss: 0.651830, acc: 0.623047] [A loss: 0.780479, acc: 0.312500]286: [D loss: 0.691948, acc: 0.525391] [A loss: 1.133446, acc: 0.011719]287: [D loss: 0.650677, acc: 0.644531] [A loss: 0.793982, acc: 0.304688]288: [D loss: 0.698428, acc: 0.515625] [A loss: 1.247315, acc: 0.000000]289: [D loss: 0.657979, acc: 0.648438] [A loss: 0.722180, acc: 0.449219]290: [D loss: 0.701157, acc: 0.517578] [A loss: 1.253019, acc: 0.003906]291: [D loss: 0.649832, acc: 0.644531] [A loss: 0.701979, acc: 0.503906]292: [D loss: 0.712979, acc: 0.519531] [A loss: 1.271342, acc: 0.000000]293: [D loss: 0.660288, acc: 0.621094] [A loss: 0.689836, acc: 0.550781]294: [D loss: 0.726884, acc: 0.505859] [A loss: 1.93, acc: 0.003906]295: [D loss: 0.663560, acc: 0.617188] [A loss: 0.701607, acc: 0.488281]296: [D loss: 0.707670, acc: 0.507812] [A loss: 1.129499, acc: 0.003906]297: [D loss: 0.663256, acc: 0.617188] [A loss: 0.739957, acc: 0.371094]298: [D loss: 0.689587, acc: 0.523438] [A loss: 1.191701, acc: 0.000000]299: [D loss: 0.660023, acc: 0.623047] [A loss: 0.746944, acc: 0.371094]300: [D loss: 0.684651, acc: 0.531250] [A loss: 1.150684, acc: 0.000000]301: [D loss: 0.651196, acc: 0.642578] [A loss: 0.808909, acc: 0.246094]302: [D loss: 0.678586, acc: 0.552734] [A loss: 1.157491, acc: 0.003906]303: [D loss: 0.652035, acc: 0.646484] [A loss: 0.783414, acc: 0.289062]304: [D loss: 0.671595, acc: 0.564453] [A loss: 1.269552, acc: 0.000000]305: [D loss: 0.648778, acc: 0.662109] [A loss: 0.721312, acc: 0.453125]306: [D loss: 0.716662, acc: 0.517578] [A loss: 1.334316, acc: 0.000000]307: [D loss: 0.653186, acc: 0.613281] [A loss: 0.611153, acc: 0.742188]308: [D loss: 0.724283, acc: 0.505859] [A loss: 1.280901, acc: 0.000000]309: [D loss: 0.657101, acc: 0.617188] [A loss: 0.631597, acc: 0.683594]310: [D loss: 0.730646, acc: 0.500000] [A loss: 1.158158, acc: 0.000000]311: [D loss: 0.657883, acc: 0.625000] [A loss: 0.732748, acc: 0.410156]312: [D loss: 0.703416, acc: 0.523438] [A loss: 1.026374, acc: 0.015625]313: [D loss: 0.669057, acc: 0.599609] [A loss: 0.774714, acc: 0.257812]314: [D loss: 0.681841, acc: 0.539062] [A loss: 1.001734, acc: 0.019531]315: [D loss: 0.658778, acc: 0.632812] [A loss: 0.791964, acc: 0.246094]316: [D loss: 0.682347, acc: 0.537109] [A loss: 1.017623, acc: 0.011719]317: [D loss: 0.662230, acc: 0.595703] [A loss: 0.856697, acc: 0.121094]318: [D loss: 0.676194, acc: 0.546875] [A loss: 1.032536, acc: 0.019531]319: [D loss: 0.653828, acc: 0.617188] [A loss: 0.825725, acc: 0.207031]320: [D loss: 0.668046, acc: 0.556641] [A loss: 1.124810, acc: 0.015625]。。。。。。。。。。。。。。。。。。。。。..。9919: [D loss: 0.702338, acc: 0.517578] [A loss: 0.747043, acc: 0.378906]9920: [D loss: 0.703451, acc: 0.494141] [A loss: 0.835588, acc: 0.164062]9921: [D loss: 0.693855, acc: 0.517578] [A loss: 0.730508, acc: 0.410156]9922: [D loss: 0.715099, acc: 0.472656] [A loss: 0.826207, acc: 0.195312]9923: [D loss: 0.706640, acc: 0.474609] [A loss: 0.751718, acc: 0.335938]9924: [D loss: 0.691947, acc: 0.550781] [A loss: 0.813644, acc: 0.226562]9925: [D loss: 0.697594, acc: 0.513672] [A loss: 0.768750, acc: 0.269531]9926: [D loss: 0.689501, acc: 0.552734] [A loss: 0.768900, acc: 0.335938]9927: [D loss: 0.696636, acc: 0.531250] [A loss: 0.772304, acc: 0.316406]9928: [D loss: 0.697596, acc: 0.523438] [A loss: 0.806830, acc: 0.261719]9929: [D loss: 0.697859, acc: 0.505859] [A loss: 0.727642, acc: 0.433594]9930: [D loss: 0.697926, acc: 0.523438] [A loss: 0.879466, acc: 0.101562]9931: [D loss: 0.697527, acc: 0.531250] [A loss: 0.701799, acc: 0.488281]9932: [D loss: 0.710694, acc: 0.490234] [A loss: 0.855742, acc: 0.128906]9933: [D loss: 0.705487, acc: 0.521484] [A loss: 0.727056, acc: 0.417969]9934: [D loss: 0.700702, acc: 0.496094] [A loss: 0.823942, acc: 0.179688]9935: [D loss: 0.704966, acc: 0.498047] [A loss: 0.767886, acc: 0.281250]9936: [D loss: 0.701806, acc: 0.509766] [A loss: 0.798015, acc: 0.238281]9937: [D loss: 0.715728, acc: 0.478516] [A loss: 0.776415, acc: 0.292969]9938: [D loss: 0.697116, acc: 0.511719] [A loss: 0.829303, acc: 0.195312]9939: [D loss: 0.699822, acc: 0.509766] [A loss: 0.740921, acc: 0.375000]9940: [D loss: 0.719507, acc: 0.478516] [A loss: 0.859272, acc: 0.160156]9941: [D loss: 0.695651, acc: 0.525391] [A loss: 0.704798, acc: 0.503906]9942: [D loss: 0.707328, acc: 0.503906] [A loss: 0.808904, acc: 0.218750]9943: [D loss: 0.688593, acc: 0.548828] [A loss: 0.744065, acc: 0.394531]9944: [D loss: 0.699065, acc: 0.523438] [A loss: 0.802332, acc: 0.257812]9945: [D loss: 0.698068, acc: 0.525391] [A loss: 0.745907, acc: 0.347656]9946: [D loss: 0.701033, acc: 0.498047] [A loss: 0.813438, acc: 0.199219]9947: [D loss: 0.691200, acc: 0.541016] [A loss: 0.756370, acc: 0.343750]9948: [D loss: 0.712499, acc: 0.476562] [A loss: 0.830884, acc: 0.136719]9949: [D loss: 0.696183, acc: 0.509766] [A loss: 0.704277, acc: 0.488281]9950: [D loss: 0.696827, acc: 0.523438] [A loss: 0.825646, acc: 0.183594]9951: [D loss: 0.692385, acc: 0.529297] [A loss: 0.743277, acc: 0.378906]9952: [D loss: 0.704989, acc: 0.513672] [A loss: 0.853841, acc: 0.144531]9953: [D loss: 0.703750, acc: 0.476562] [A loss: 0.710911, acc: 0.484375]9954: [D loss: 0.714116, acc: 0.507812] [A loss: 0.949648, acc: 0.078125]9955: [D loss: 0.694516, acc: 0.525391] [A loss: 0.714422, acc: 0.453125]9956: [D loss: 0.710579, acc: 0.500000] [A loss: 0.842483, acc: 0.171875]9957: [D loss: 0.693028, acc: 0.515625] [A loss: 0.750638, acc: 0.355469]9958: [D loss: 0.707715, acc: 0.515625] [A loss: 0.801792, acc: 0.230469]9959: [D loss: 0.706937, acc: 0.507812] [A loss: 0.780088, acc: 0.292969]9960: [D loss: 0.704332, acc: 0.519531] [A loss: 0.721530, acc: 0.414062]9961: [D loss: 0.708584, acc: 0.492188] [A loss: 0.830755, acc: 0.191406]9962: [D loss: 0.699920, acc: 0.500000] [A loss: 0.730089, acc: 0.402344]9963: [D loss: 0.709511, acc: 0.482422] [A loss: 0.819024, acc: 0.214844]9964: [D loss: 0.698606, acc: 0.513672] [A loss: 0.775723, acc: 0.296875]9965: [D loss: 0.707085, acc: 0.474609] [A loss: 0.83, acc: 0.226562]9966: [D loss: 0.708760, acc: 0.500000] [A loss: 0.773791, acc: 0.296875]9967: [D loss: 0.714988, acc: 0.501953] [A loss: 0.876916, acc: 0.128906]9968: [D loss: 0.699741, acc: 0.527344] [A loss: 0.761598, acc: 0.339844]9969: [D loss: 0.709108, acc: 0.505859] [A loss: 0.784633, acc: 0.292969]9970: [D loss: 0.704452, acc: 0.476562] [A loss: 0.811802, acc: 0.210938]9971: [D loss: 0.706212, acc: 0.490234] [A loss: 0.733744, acc: 0.398438]9972: [D loss: 0.709742, acc: 0.486328] [A loss: 0.834597, acc: 0.183594]9973: [D loss: 0.698140, acc: 0.531250] [A loss: 0.685229, acc: 0.550781]9974: [D loss: 0.711616, acc: 0.492188] [A loss: 0.845335, acc: 0.140625]9975: [D loss: 0.693955, acc: 0.531250] [A loss: 0.699906, acc: 0.519531]9976: [D loss: 0.705078, acc: 0.515625] [A loss: 0.821778, acc: 0.203125]9977: [D loss: 0.697455, acc: 0.513672] [A loss: 0.714708, acc: 0.457031]9978: [D loss: 0.705634, acc: 0.500000] [A loss: 0.791556, acc: 0.261719]9979: [D loss: 0.702151, acc: 0.509766] [A loss: 0.729714, acc: 0.398438]9980: [D loss: 0.710843, acc: 0.492188] [A loss: 0.803456, acc: 0.218750]9981: [D loss: 0.698539, acc: 0.500000] [A loss: 0.743020, acc: 0.351562]9982: [D loss: 0.702784, acc: 0.507812] [A loss: 0.829923, acc: 0.164062]9983: [D loss: 0.710229, acc: 0.480469] [A loss: 0.726384, acc: 0.417969]9984: [D loss: 0.711040, acc: 0.503906] [A loss: 0.807429, acc: 0.207031]9985: [D loss: 0.696956, acc: 0.533203] [A loss: 0.755409, acc: 0.363281]9986: [D loss: 0.700728, acc: 0.488281] [A loss: 0.772643, acc: 0.304688]9987: [D loss: 0.704541, acc: 0.492188] [A loss: 0.800799, acc: 0.261719]9988: [D loss: 0.700189, acc: 0.521484] [A loss: 0.770434, acc: 0.320312]9989: [D loss: 0.697253, acc: 0.509766] [A loss: 0.797975, acc: 0.242188]9990: [D loss: 0.706917, acc: 0.492188] [A loss: 0.883894, acc: 0.128906]9991: [D loss: 0.695292, acc: 0.505859] [A loss: 0.720615, acc: 0.433594]9992: [D loss: 0.698072, acc: 0.535156] [A loss: 0.877171, acc: 0.132812]9993: [D loss: 0.691101, acc: 0.515625] [A loss: 0.722928, acc: 0.472656]9994: [D loss: 0.703333, acc: 0.533203] [A loss: 0.944150, acc: 0.082031]9995: [D loss: 0.699371, acc: 0.521484] [A loss: 0.715438, acc: 0.464844]9996: [D loss: 0.710147, acc: 0.505859] [A loss: 0.822873, acc: 0.191406]9997: [D loss: 0.708276, acc: 0.480469] [A loss: 0.714018, acc: 0.453125]9998: [D loss: 0.701492, acc: 0.507812] [A loss: 0.802196, acc: 0.257812]9999: [D loss: 0.695118, acc: 0.513672] [A loss: 0.777079, acc: 0.292969]Elapsed: 2.9090983357694413 hr

我们的判别器的工作原理是这样的:我们先用生成器生成一堆图片便签为0(假)在用真实图片便签为1(真),然后拿给判别器训练。而对抗模型则是用生成器的产物便签为1,让判别器去判别。数据中D就代表判别器,A代表对抗模型我们可以看到一开始判别器,准确率很低,因为他不是一个好警察,然后上升到90左右说明他已经是一个好警察了,但是最后准确率不断下降,这并不是因为他的水平下降,而是我们的生成器愈发完美,成了“神偷”达到了我们的目的。在看对抗模型,也可以看出我们的警察不能识别出小偷造的假币了。所以GAN是很成功的。

最后

这就是生成式对抗网络GAN,文中后续把犯罪分子改成了小偷,因为我觉得厉害的小偷叫神偷,但是厉害的犯罪分子我没想到叫啥。所以给大家给大家带来的不便深感抱歉。

如果觉得《机器学习笔记——生成式对抗网络GAN》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。