Keras Concatenate() function giving a dimensionality error [closed]


I’m trying to make a UNet based Autoencoder model to De-Blur images. I defined the model as follows:

def conv_operation(x, filters, kernel_size, strides=2): x = Conv2D(filters=filters,           kernel_size=kernel_size,           strides=strides,           padding='same')(x) x = BatchNormalization()(x) x = ReLU()(x) return x  def conv_transpose_operation(x, filters, kernel_size,padding='same'): x = Conv2DTranspose(filters=filters,                    kernel_size=kernel_size,                    strides=2,                    padding=padding)(x) x = BatchNormalization()(x) x = ReLU()(x) return x  def deblurring_autoencoder():     dae_inputs = Input(shape=(200,200, 3), name='dae_input')     conv_block1 = conv_operation(dae_inputs, 32, 3)     conv_block2 = conv_operation(conv_block1, 64, 3)     conv_block3 = conv_operation(conv_block2, 128, 3)     conv_block4 = conv_operation(conv_block3, 256, 3)      conv_block5 = conv_operation(conv_block4, 256, 3, 1)      deconv_block1 = conv_transpose_operation(conv_block5, 256,3,padding='same')     merge1 = Concatenate()([conv_block3,deconv_block1])     deconv_block2 = conv_transpose_operation(merge1, 128, 2)     merge2 = Concatenate()([deconv_block2, conv_block2])     deconv_block3 = conv_transpose_operation(merge2, 64, 3)     merge3 = Concatenate()([deconv_block3, conv_block1])     deconv_block4 = conv_transpose_operation(merge3, 32, 3)      final_deconv = Conv2DTranspose(filters=3, kernel_size=3,padding='same')(deconv_block4)      dae_outputs = Activation('sigmoid', name='dae_output')(final_deconv)      return Model(dae_inputs, dae_outputs, name='dae') 

After these definitons, I try to make the model like follows:

model= deblurring_autoencoder() 

When I run the above line, I get a long error that basically tells me that my code is breaking at the line:

merge1 = Concatenate()([conv_block3,deconv_block1]) 

due to a dimensionality error. The error says:

A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got inputs shapes: [(None, 25, 25, 128), (None, 26, 26, 256)] 

I tried to manually check all the dimensions after each convolution and they seem to fit perfectly for me. How can I resolve this?