Я использую функциональный API keras с входными изображениями размерности (224, 224, 3). У меня есть следующие модели с использованием функционального API, хотя подобная проблема, кажется, возникает с последовательными моделями:Keras нет данных ввода для
input = Input(shape=(224, 224, 3,))
shared_layers = Dense(16)(input)
model = KerasModel(input=input, output=shared_layers)
model.compile(loss='binary_crossentropy', optimizer='sgd', metrics='accuracy'])
Я зову model.fit_generator
, где мой генератор имеет
yield ({'input_1': image}, {'output': classification})
image
является входом (224, 224, 3) и classification
находится в {-1,1}.
На подгонки модели, я получаю сообщение об ошибке
ValueError: No data provided for "dense_1". Need data for each key in: ['dense_1']
Одна странная вещь, что если я переключаю input_1
Цель Dict в dense_1
, переключатели ошибок Пропавшие вход для input_1
, но возвращается к отсутствующему dense_1
, если обе клавиши находятся в генераторе данных.
Это происходит, если я вызываю fit_generator
или получаю партии от генератора и звоню train_on_batch
.
Кто-нибудь знает, что происходит? Из того, что я могу сказать, это должно быть таким же, как указано в the documentation, хотя с другим размером ввода.
Full traceback:
Traceback (most recent call last):
File "pymask.py", line 303, in <module>
main(sys.argv)
File "pymask.py", line 285, in main
keras.callbacks.ProgbarLogger()
File "/home/danielunderwood/virtualenvs/keras/lib/python3.6/site-packages/keras/engine/training.py", line 1557, in fit_generator
class_weight=class_weight)
File "/home/danielunderwood/virtualenvs/keras/lib/python3.6/site-packages/keras/engine/training.py", line 1314, in train_on_batch
check_batch_axis=True)
File "/home/danielunderwood/virtualenvs/keras/lib/python3.6/site-packages/keras/engine/training.py", line 1029, in _standardize_user_data
exception_prefix='model input')
File "/home/danielunderwood/virtualenvs/keras/lib/python3.6/site-packages/keras/engine/training.py", line 52, in standardize_input_data
str(names))
ValueError: No data provided for "input_1". Need data for each key in: ['input_1']
У меня такая же проблема, но я не мог понять ваш ответ. Не могли бы вы указать мне на сделанные вами изменения? –
@ AnntonioSesto Ненавижу говорить об этом, но я не совсем уверен в том, что означает мой ответ. Я оглянулся назад через джит и провалил журналы и не смог найти слишком много. Я заметил, что проблема заключалась в том, что я использовал '' output'' в качестве ключа, который, как я думал, был бы там, но ключ вместо этого должен был быть слоем вывода, который вместо этого имел бы ключ '' shared_layers''. Для чего это стоит, я также переключился на тензорный поток с тензорным слоем, а не с керами из-за проблем с моей конкретной моделью в этом случае. – danielunderwood