繁体   English   中英

连接两层 Unet

[英]Concatenate two layers Unet

我的Unet model 遇到以下错误。 (我的图片尺寸是 2652*3519)

#expansive path: decoder
n_filters //= growth_factor
up6_1 = tf.keras.layers.concatenate([tf.keras.layers.Conv2DTranspose(n_filters, (2, 2), strides=(2, 2), padding='same',kernel_initializer = 'he_normal')(conv5), conv4_1])
up6_1 = tf.keras.layers.concatenate([tf.keras.layers.UpSampling2D(size=(2, 2))(conv5), conv4_1])
up6_1 = tf.keras.layers.BatchNormalization()(up6_1)
conv6_1 = tf.keras.layers.Conv2D(n_filters, (3, 3), activation='relu', padding='same', kernel_regularizer=tf.keras.regularizers.l1(l_value),kernel_initializer = 'he_normal')(up6_1)
conv6_1 = tf.keras.layers.Conv2D(n_filters, (3, 3), activation='relu', padding='same', kernel_regularizer=tf.keras.regularizers.l1(l_value),kernel_initializer = 'he_normal')(conv6_1)
conv6_1 = tf.keras.layers.Dropout(droprate)(conv6_1)
Error 
ValueError                                Traceback (most recent call last)
<ipython-input-4-91ead3f2414b> in <module>()
     92     model.compile(optimizer=tf.keras.optimizers.Adam(lr = 0.0005), loss='binary_crossentropy', metrics=["accuracy"])
     93     return model
---> 94 get_unet().summary()
     95 mymodel=get_unet()
     96 tf.keras.utils.plot_model(mymodel, to_file='model_plot.png', show_shapes=True, show_layer_names=True,rankdir="LR")

8 frames
/usr/local/lib/python3.7/dist-packages/keras/layers/merge.py in build(self, input_shape)
    513             shape[axis] for shape in shape_set if shape[axis] is not None)
    514         if len(unique_dims) > 1:
--> 515           raise ValueError(err_msg)
    516 
    517   def _merge_function(self, inputs):

ValueError: A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got inputs shapes: [(None, 164, 218, 512), (None, 165, 219, 512)]

您收到的错误消息是抱怨 conv5 和 conv4_1 层中的数据大小不兼容。 尺寸似乎相差一倍。 确保尺寸在“U”的每一侧完全匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM