我发现了这篇关于艺术生成的文章,它使用 GAN 架构来生成艺术。让我们转到定义生成器模型的部分。
def build_generator(noise_size, channels):
model = Sequential()
model.add(Dense(4 * 4 * 256, activation=”relu”, input_dim=noise_size))
model.add(Reshape((4, 4, 256)))
model.add(UpSampling2D())
model.add(Conv2D(256, kernel_size=3, padding=”same”))
model.add(BatchNormalization(momentum=0.8))
model.add(Activation(“relu”))
model.add(UpSampling2D())
model.add(Conv2D(256, kernel_size=3, padding=”same”))
model.add(BatchNormalization(momentum=0.8))
model.add(Activation(“relu”))
for i in range(GENERATE_RES):
model.add(UpSampling2D())
model.add(Conv2D(256, kernel_size=3, padding=”same”))
model.add(BatchNormalization(momentum=0.8))
model.add(Activation(“relu”))
model.summary()
model.add(Conv2D(channels, kernel_size=3, padding=”same”))
model.add(Activation(“tanh”))
input = Input(shape=(noise_size,))
generated_image = model(input)
return Model(input, generated_image)
我明白为什么我们增加输入4x4x256(model.add(Dense(4 * 4 * 256, activation=”relu”, input_dim=noise_size))),但生成器返回形状为 4x4x256 的图像。如何使用此图像?这是怎么回事?我认为,我们只能处理灰色(1 通道)图像和 RGB 图像(3 通道)。