2017-04-01 107 views
3

我使用keras建立一个模型,并编写优化代码和所有其他在tensorflow。当我使用相当简单的图层,如密集Conv2D,一切都很简单。但是将BatchNormalization图层添加到我的keras模型中会使问题变得复杂。在我feed_dict真:列车Keras模型与张量流BatchNorm层

由于BatchNormalization层在训练阶段和测试阶段表现不同,我想通了,我需要K.learning_phase()。但以下代码运行不正常。它没有错误地运行,但模型的性能没有变好。

import keras.backend as K 
... 
x_train, y_train = get_data() 
sess.run(train_op, feed_dict={x:x_train, y:y_train, K.learning_phase():True}) 

当我试图用keras培训keras模型适合功能,效果不错。

我应该怎么做才能培养出keras模型BatchNormalizationtensorflow

回答

1

其实我重复了这个我没见过的问题。

我找到了答案here,它只是在于传递一个特殊的参数给BatchNormalization层调用

+0

我错了,它不把工作进行到底......我不知道为什么 – sbaur