首页 > 解决方案 > 我正在实现一个 GAN 网络,但我对如何将它们组合成一个实体感到困惑?

问题描述

以下是我写的代码

encoderModel = tf.keras.models.Sequential([
    tf.keras.layers.Conv2D(64, kernel_size=5, strides=2, activation='relu',
                           input_shape=X_train[0].shape),
    tf.keras.layers.Conv2D(128, kernel_size=5, strides=2, activation='relu'),
    tf.keras.layers.Conv2D(256, kernel_size=5, strides=2, activation='relu'),
    tf.keras.layers.Conv2D(512, kernel_size=5, strides=2, activation='relu'),
    tf.keras.layers.Flatten(),
    tf.keras.layers.Dense(100,),
    tf.keras.layers.Dense(100,),
    ])

generator_model = tf.keras.models.Sequential([
    tf.keras.layers.Dense(100*1*1),
    tf.keras.layers.Reshape((512,4,4)),
    tf.keras.layers.Conv2DTranspose(256,kernel_size=5,strides=2,activation='relu'),
    tf.keras.layers.Conv2DTranspose(128,kernel_size=5,strides=2,activation='relu'),
    tf.keras.layers.Conv2DTranspose(64,kernel_size=5,strides=2,activation='relu'),
    tf.keras.layers.Conv2DTranspose(1,kernel_size=5,strides=2,activation='tanh'),
    ])

discriminator_model = tf.keras.models.Sequential([
    tf.keras.layers.Conv2D(64, kernel_size=5, strides=2, activation='relu',
                           input_shape=X_train[0].shape),
    tf.keras.layers.Conv2D(128, kernel_size=5,strides=2,activation='relu'),
    tf.keras.layers.Conv2D(256, kernel_size=5,strides=2,activation='relu'),
    tf.keras.layers.Conv2D(512, kernel_size=5,strides=2,activation='relu'),
    tf.keras.layers.Flatten(),
    tf.keras.layers.Dense(1,),
    tf.keras.layers.Dense(1,),
    ])

这是我正在尝试实现的模型的图片,下面是包含模型结构的图片

在此处输入图像描述

标签: deep-learningneural-networkconv-neural-networkgenerative-adversarial-networkencoder-decoder

解决方案


推荐阅读