【发布时间】:2021-10-28 19:05:03
【问题描述】:
我的Unet 模型遇到了以下错误。
(我的图片尺寸是 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)]
【问题讨论】:
-
您正在连接
Conv2DTranspose()(conv5)和conv4_1层,它们的形状不适合连接。请分享您的模型实现的完整代码。
标签: python deep-learning google-colaboratory image-segmentation unity3d-unet