2017-02-21 64 views
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'] 

回答

0

這是由於我誤解了keras輸出的工作原理。由output參數指定到Model層需要來自數據的輸出。我誤解的是,在數據字典中的output鍵自動進入由output參數指定的層。

+0

我有同樣的問題,但不明白你的答案。你能否指出我所做的修改? –

+1

@AntonioSesto我討厭這麼說,但我並不完全確定我的答案意味着什麼。我通過git和鬆散的日誌回頭看了一眼,但卻找不到太多東西。我_think_的問題是,我用「'作爲output'',我以爲會是有一個關鍵,但關鍵不是必須是輸出,這將有鑰匙'層」 shared_layers''代替。對於它的價值,由於在這種情況下我的特定模型存在問題,我最終還是使用tensorlayer而不是keras轉換爲tensorflow。 – danielunderwood

相關問題