首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CNN/GAN频道

CNN/GAN频道
EN

Data Science用户
提问于 2021-01-27 12:59:29
回答 1查看 281关注 0票数 2

我发现了一个关于艺术生成的文章,它使用GAN建筑来生成艺术。让我们移到定义生成器模型的部分。

代码语言:javascript
复制
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通道)。

EN

回答 1

Data Science用户

发布于 2021-01-27 13:26:23

数字4与通道数无关,而只是用于定义潜伏空间的维数(总计为2048,4 x 4 x 256)。该发生器输出形状为(128, 128, 3)的图像,图像的高度和宽度为128个像素,图像有3个通道。在定义生成器的最后一层Conv2d层时可以看到这一点:

代码语言:javascript
复制
model.add(Conv2D(channels, kernel_size=3, padding="same"))

该层的通道/过滤器的数量由channels变量定义,该变量是build_generator函数的参数。稍后调用此函数时,可以看到所提供的值是IMAGE_CHANNELS,在本文开头设置为3。

尽管如此,它是有可能的工作图像与4个渠道。这些图像除了红色、绿色和蓝色(RGBA)外,还有一个第四维。

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/88547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档