ImportError: cannot import name ‘LayerNormalization‘ from ‘tensorflow.python.keras.layers.normalizat

  • Post author:
  • Post category:python


软件背景


windows x64

tensorflow 2.7.0

keras 2.7.0

python 3.9.0

pycharm 2020.1 x64


问题出现

首先,当时是通过pycharm中的终端和cmd中的命令来反复下载各种2.0版以上的tensorflow,以及相应的cpu和gpu等。

一开始,之前莫名下载好了tensorflow,(但因为pycharm中对某个函数标黄,以为有问题,就把tensorflow删了。。这是折磨的开始。

然后,就开始了不停地下载、删除各个版本的tensorflow,以及cpu,gpu. (

只要下了tensorflow2.0版即以上就含有相应的cpu,对于入门级的MNIST分类,可以不用下载GPU

)。官方

tensorflow文档



安装与配置部分

中有说到。

解决方法

对于我有效的解决方法:

将tensorflow2.7.0下载回来,将之前下载的相关文件删除。


pip3 install https://pypi.tuna.tsinghua.edu.cn/simple tensorflow==2.7.0


通过报错(几天前的错误信息未保存),来看keras中的文件,没记错的话里面layers.normalizat也有个_init__文件,有两个__init__文件

同学也下载了相同软件版本(如软件背景所示),他能够成功运行。

怀疑是之前tensorflow相关的文件(位于python.exe)中没有被cmd中的命令


pip3 unstall tensorflow


删除干净,所以,当时是将同学的keras放进本机中的python啥的lib_下相应的tensorflow文件中。(进行替换)

然后,很玄乎的就没报下面错误了


ImportError: cannot import name 'LayerNormalization' from 'tensorflow.python.keras.layers.normalizat


出现该报错的其他解决方法的链接(或许可能有帮助)


参考的相关博客



版权声明:本文为qq_45866781原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。