一、keras的MultiHeadAttention导入API报错问题
无法引入MultiHeadAttention
导入包:
from tensorflow.keras.layers import MultiHeadAttention
然后run后报错
cannot import name ‘MultiHeadAttention’ from 'tensorflow.keras.layers’
二、分析报错配置
查询keras官网
引入MultiHeadAttention,发现报错,在官网中给出了三种注意力机制层,其他两种都能正常引入。尝试过tensorflow2.1和2.3,都是缺少接口。
临时解决办法
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 |