Keras error “You must feed a value for placeholder tensor 'bidirectional_1/keras_learning_phase' with dtype bool”

匿名 (未验证) 提交于 2019-12-03 02:06:01

问题:

I get the following error for the code snippet below:

You must feed a value for placeholder tensor 'bidirectional_1/keras_learning_phase' with dtype bool

If I add the dropout layer model.add(Dropout(dropout)), it works. Anyone knows why? The back-end is Tensorflow, Keras 2.0.1

def prep_model1(embedding_layer1, embedding_layer2, dropout=0.5):      model0 = Sequential()       model0.add(embedding_layer1)     model0.add(Bidirectional(LSTM(128, return_sequences=False, dropout=dropout)))      model1 = Sequential()      model1.add(embedding_layer2)     model1.add(Bidirectional(LSTM(128, return_sequences=False, dropout=dropout)))      model = Sequential()     model.add(Merge([model0, model1], mode='concat', concat_axis=1))     #model.add(Dropout(dropout))     model.add(Dense(1, activation='sigmoid'))      return model 

回答1:

Try to import K and set learning phase before your model.

from keras import backend as K  K.set_learning_phase(1) #set learning phase 

From this issue



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!