How to solve this ValueError: Dimensions must be equal

I'm trying to train an autoencoder model with colored image samples but I got this error

ValueError: Dimensions must be equal, but are 476 and 480 for '{{node mean_squared_error/SquaredDifference}} = SquaredDifference[T=DT_FLOAT](model_4/conv2d_28/BiasAdd, IteratorGetNext:1)' with input shapes: [?,476,476,1], [?,480,480,3].

although i have checked the dimensions of the test and training sets all are (480,480,3)

from matplotlib import image,pyplot
import cv2

IMG_HEIGHT=480
IMG_WIDTH=480


def prepro_resize(input_img):
    oimg= cv2.imread( input_img, cv2.COLOR_BGR2RGB)
    return cv2.resize(oimg, (IMG_HEIGHT, IMG_WIDTH),interpolation = cv2.INTER_AREA)

x_train_ = [(prepro_resize(x_train[i])).astype('float32')/255.0 for i in range(len(x_train))]
x_test_ = [(prepro_resize(x_test[i])).astype('float32')/255.0 for i in range(len(x_test))] 

the code for adding noise is

noise = augmenters.SaltAndPepper(0.1)
seq_object = augmenters.Sequential([noise])

train_x_n = seq_object.augment_images(x_train_ * 255) / 255
val_x_n = seq_object.augment_images(x_test_ * 255) / 255

all of the above line of codes work propertly but the previosly mentioned error occures on running model fit

history = model.fit(x_train_,train_x_n, epochs=10, batch_size=128)

i've assured that all of the samples and noise images are colored of shape(480,480,3)

Topic opencv numpy tensorflow deep-learning python

Category Data Science

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.