Keras error: "BatchNormalization Shape must be rank 1 but is rank 4 for batch_normalization"

Keras error: "BatchNormalization Shape must be rank 1 but is rank 4 for batch_normalization"

我有一个 Keras 函数模型(具有卷积层的神经网络),它可以很好地与 tensorflow 配合使用。我可以 运行 它并且我可以适应它。

但是使用tensorflow gpu时无法建立模型

这是构建模型时抛出错误的代码行。

x = BatchNormalization(axis=1)(x)

并且错误消息是“BatchNormalization Shape 必须是等级 1 但对于 batch_normalization 是等级 4”。

我觉得是Keras的bug。如果是这样,如果有修复程序,我如何将这个特定的修复程序安装到 Windows/Anaconda 环境中?

Keras 版本为 2.2.0 和 tensorflow gpu 1.8.0

有什么想法吗?

在此先感谢大家。

在我看来,您的机器中存在 tensorflow-gpu - keras 版本不兼容问题。

试试 keras 2.1.6

pip uninstall keras
pip install -I keras==2.1.6