1.什么是CGAN
在CGAN训练期间,生成器学习为训练数据集中的每个标签生成逼真的样本,而鉴别器则学习区分真的样本-标签对与假的样本-标签对。只学习接受真实且样本-标签匹配正确的对,拒绝不匹配的对和样本为假的对。
2.生成器
条件标签称为y,生成器使用噪声向量Z和标签y合成一个伪样本。
3.鉴别器
接受带标签的真实样本(x,y),以及生成器生成的伪样本
4.代码实现
4.1导入数据库
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
from keras.datasets import mnist
from keras.layers import (Activation, BatchNormalization, Concatenate, Dense,
Embedding, Flatten, Input, Multiply, Reshape)
from keras.layers.advanced_activations import LeakyReLU
from keras.layers.convolutional import Conv2D, Conv2DTranspose
from keras.models import Model, Sequential
#此处如果报错,就将下面改为from keras.optimizer_v2 import adam as Adam
from keras.optimizers import Adam
4.2模型的输入维度
img_rows = 28
img_cols = 28
channels = 1
# 输入图像