ValueError: ('Ошибка при проверке ввода модели: не ожидала данных, но получила:', массив) - PullRequest
1 голос
/ 30 апреля 2019

Я пытаюсь построить начальную и перезапускную модель с моими собственными данными изображения. Набор данных состоит из 8000 изображений и имеет 6 меток. Все идет хорошо при построении модели. Но упомянутая ошибка возникает в model.fit(). Я действительно не уверен, в чем проблема, проведя 14 часов.

Я попробовал следующее

  1. Изменение порядка размеров изображения

  2. Внесение изменений в keras.json

  3. изменение формы input_tensor в модели

Изображение ошибки: enter image description here

inception_model = InceptionV3(input_tensor = inception_model.input, include_top = True, weights = 'imagenet')
inception_last_layer = inception_model.get_layer('predictions').output
inception_out = Dense(num_classes, activation='softmax', name='output')(inception_last_layer)
custom_inception = Model(inception_model.input, inception_out)

for layer in custom_inception.layers[:-3]:
        layer.trainable = False

custom_inception.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy', 'mse', 'mae', 'mape'])
train_inception = custom_inception.fit(X_train, y_train, batch_size=8, epochs=2)

РЕДАКТИРОВАТЬ: В настоящее время я использую keras 2.2.0, который я понизил с последней версии после того, как выполнил некоторые проблемы с keras в github. Это действительно решило некоторые начальные икоты. В настоящее время я использую начальный и реснет из их соответствующих файлов Python, которые я сделал некоторые изменения include_top=include_top в require_flatten=include_top с это

EDIT2: вот входные фигуры

(1690, 220, 220, 1)  is the X_train shape
(1690, 6)  is the y_train 
(423, 220, 220, 1)  is the X_test shape
(423, 6)  is the y_test 

1 Ответ

0 голосов
/ 01 мая 2019

Решил эту проблему с помощью следующих шагов:

input_tensor=Input((300,300,3))

вместо

input_tensor = inception_model.input
Обновление тензорного потока и кера до 1.13.1 и 2.2.4 Определение модели с входной формой (300,300,3) и трехкратное наложение моего (300,300,1) входного сигнала по порядку оси канала для соответствия (300,300,3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...