Ошибка при проверке ввода: ожидалось, что keras_layer_7_input будет иметь 4 измерения, но получит массив с формой (224, 224, 3)

Я пытаюсь сделать прогноз, используя свой собственный набор данных. Но когда я пытаюсь запустить свой код, я получил ошибку выше. Каково решение этой проблемы. Сильфон это код

    def create_training_data():
        for category in CATEGORIES:  # do dogs and cats

            path = os.path.join(DATADIR,category)  # create path to dogs and cats
            class_num = CATEGORIES.index(category)  # get the classification  (0 or a 1). 0=dog 1=cat

            for img in tqdm(os.listdir(path)):  # iterate over each image per dogs and cats
                try:
                    img_array = cv2.imread(os.path.join(path,img))  # convert to array
                    new_array = cv2.resize(img_array, (IMG_SIZE, IMG_SIZE))  # resize to normalize data size
                    training_data.append([new_array, class_num])  # add this to our training_data
                except Exception as e:  # in the interest in keeping the output clean...
                    pass
                #except OSError as e:
                #    print("OSErrroBad img most likely", e, os.path.join(path,img))
                #except Exception as e:
                #    print("general exception", e, os.path.join(path,img))

    create_training_data()

X=[]
y=[]

for features,label in training_data:
    X.append(features)
    y.append(label)

train_x, test_x, train_y, test_y = train_test_split(X, y, test_size=0.2)

feature_extractor = hub.KerasLayer(URL,
                                   input_shape=(IMAGE_RES, IMAGE_RES,3))


BATCH_SIZE=32
history = model.fit(train_x,
                    epochs=EPOCHS,
                    validation_data=test_x)

0 ответов

Другие вопросы по тегам