1
我使用keras與尺寸的輸入圖像的功能API沒有輸入數據(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
目標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']
我有同樣的問題,但不明白你的答案。你能否指出我所做的修改? –
@AntonioSesto我討厭這麼說,但我並不完全確定我的答案意味着什麼。我通過git和鬆散的日誌回頭看了一眼,但卻找不到太多東西。我_think_的問題是,我用「'作爲output'',我以爲會是有一個關鍵,但關鍵不是必須是輸出,這將有鑰匙'層」 shared_layers''代替。對於它的價值,由於在這種情況下我的特定模型存在問題,我最終還是使用tensorlayer而不是keras轉換爲tensorflow。 – danielunderwood