解决cannot import name ‘MultiHeadAttention‘ from ‘tensorflow.keras.layers‘

这里写目录标题

  • 一、keras的MultiHeadAttention导入API报错问题
  • 二、分析报错配置
  • 最终解决方案

一、keras的MultiHeadAttention导入API报错问题

无法引入MultiHeadAttention
在这里插入图片描述
导入包:
from tensorflow.keras.layers import MultiHeadAttention

然后run后报错
cannot import name ‘MultiHeadAttention’ from 'tensorflow.keras.layers’

二、分析报错配置

查询keras官网
解决cannot import name ‘MultiHeadAttention‘ from ‘tensorflow.keras.layers‘_第1张图片
引入MultiHeadAttention,发现报错,在官网中给出了三种注意力机制层,其他两种都能正常引入。尝试过tensorflow2.1和2.3,都是缺少接口。
解决cannot import name ‘MultiHeadAttention‘ from ‘tensorflow.keras.layers‘_第2张图片

临时解决办法

pip install keras-multi-head

然而这是keras的方法,我们更常用的还是tf.keras(tensorflow2.0以上的)。
估摸着是tensorflow版本等问题。一番尝试,果不其然。

最终解决方案

只需要更换tensorflow2.5版本后导入即可成功( •̀ ω •́ )y
所以是tensorflow版本问题,为了加快效率,这里直接给出tensorflow2.5的安装配置(可点击)

配置项目 版本
python 3.6-3.9
Tensorflow(CPU/GPU) 2.5.0
Cuda(GPU版本所需) 11.2
Cudnn(GPU版本所需) v 8.0.5

你可能感兴趣的:(keras,python,tensorflow,keras,深度学习)