Python 带张量流的BatchNorm层列车Keras模型

Python 带张量流的BatchNorm层列车Keras模型,python,tensorflow,keras,batch-normalization,Python,Tensorflow,Keras,Batch Normalization,我正在使用keras构建模型,并在tensorflow中编写优化代码和所有其他代码。当我使用非常简单的层时,比如Dense或Conv2D,一切都很简单。但在我的keras模型中添加BatchNormalization层会使问题变得复杂 由于BatchNormalization层在培训阶段和测试阶段的行为不同,我发现我需要K。learning_phase():True在我的提要中。但是下面的代码工作不太好。它运行时没有错误,但是模型的性能没有得到任何改善 import keras.backend

我正在使用keras构建模型,并在tensorflow中编写优化代码和所有其他代码。当我使用非常简单的层时,比如DenseConv2D,一切都很简单。但在我的keras模型中添加BatchNormalization层会使问题变得复杂

由于BatchNormalization层在培训阶段和测试阶段的行为不同,我发现我需要K。learning_phase():True在我的提要中。但是下面的代码工作不太好。它运行时没有错误,但是模型的性能没有得到任何改善

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})
当我尝试使用kerasfit功能训练keras模型时,效果很好


我应该怎么做才能在tensorflow中使用批次标准化层来训练keras模型?

实际上,我重复了我没有看到的这个问题


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

我错了,它最终不起作用。。。我不知道为什么