试着用Tensorflow2.0实现Unet网络结构,遇到了一点问题:
Sequential模式下的跳跃连接不知道如何实现,我会继续思考和完善
def make_generator_model():
model = tf.keras.Sequential()
model.add(tf.keras.layers.Conv2D(filters=64,kernel_size=4,strides=2,padding=‘same‘,use_bias=False))
model.add(tf.keras.layers.BatchNormalization())
model.add(tf.keras.layers.LeakyReLU())
model.add(tf.keras.layers.Conv2D(filters=128,kernel_size=4,strides=2,padding=‘same‘,use_bias=False))
model.add(tf.keras.layers.BatchNormalization())
model.add(tf.keras.layers.LeakyReLU())
model.add(tf.keras.layers.Conv2D(filters=256,kernel_size=4,strides=2,padding=‘same‘,use_bias=False))
model.add(tf.keras.layers.BatchNormalization())
model.add(tf.keras.layers.LeakyReLU())
model.add(tf.keras.layers.Conv2D(filters=512,kernel_size=4,strides=2,padding=‘same‘,use_bias=False))
model.add(tf.keras.layers.BatchNormalization())
model.add(tf.keras.layers.LeakyReLU())
model.add(tf.keras.layers.Conv2D(filters=512,kernel_size=4,strides=2,padding=‘same‘,use_bias=False))
model.add(tf.keras.layers.BatchNormalization())
model.add(tf.keras.layers.LeakyReLU())
model.add(tf.keras.layers.Conv2D(filters=512,kernel_size=4,strides=2,padding=‘same‘,use_bias=False))
model.add(tf.keras.layers.BatchNormalization())
model.add(tf.keras.layers.LeakyReLU())
model.add(tf.keras.layers.Conv2D(filters=512,kernel_size=4,strides=2,padding=‘same‘,use_bias=False))
model.add(tf.keras.layers.BatchNormalization())
model.add(tf.keras.layers.LeakyReLU())
model.add(tf.keras.layers.Conv2D(filters=512,kernel_size=4,strides=2,padding=‘same‘,use_bias=False))
model.add(tf.keras.layers.BatchNormalization())
model.add(tf.keras.layers.LeakyReLU())
model.add(tf.keras.layers.Conv2DTranspose(512,kernel_size=4,strides=2,padding=‘same‘,use_bias=False))
model.add(tf.keras.layers.BatchNormalization())
model.add(tf.keras.layers.Dropout(0.5))
model.add(tf.keras.layers.Conv2DTranspose(512,kernel_size=4,strides=2,padding=‘same‘,use_bias=False))
model.add(tf.keras.layers.BatchNormalization())
model.add(tf.keras.layers.Dropout(0.5))
model.add(tf.keras.layers.Conv2DTranspose(512,kernel_size=4,strides=2,padding=‘same‘,use_bias=False))
model.add(tf.keras.layers.BatchNormalization())
model.add(tf.keras.layers.Dropout(0.5))
model.add(tf.keras.layers.Conv2DTranspose(512,kernel_size=4,strides=2,padding=‘same‘,use_bias=False))
model.add(tf.keras.layers.BatchNormalization())
model.add(tf.keras.layers.Dropout(0.5))
model.add(tf.keras.layers.Conv2DTranspose(256,kernel_size=4,strides=2,padding=‘same‘,use_bias=False))
model.add(tf.keras.layers.BatchNormalization())
model.add(tf.keras.layers.Dropout(0.5))
model.add(tf.keras.layers.Conv2DTranspose(128,kernel_size=4,strides=2,padding=‘same‘,use_bias=False))
model.add(tf.keras.layers.BatchNormalization())
model.add(tf.keras.layers.Dropout(0.5))
model.add(tf.keras.layers.Conv2DTranspose(64,kernel_size=4,strides=2,padding=‘same‘,use_bias=False))
model.add(tf.keras.layers.BatchNormalization())
model.add(tf.keras.layers.Dropout(0.5))
model.add(tf.keras.layers.Conv2DTranspose(3,kernel_size=4,strides=2,padding=‘same‘,use_bias=False))
model.add(tf.keras.layers.BatchNormalization())
return model
原文:https://www.cnblogs.com/no-pants/p/12013598.html