Keras报错:找不到'keras.layers.embeddings'模块,求解决方法
解决Keras中找不到'keras.layers.embeddings'模块的问题
问题原因
Keras版本迭代后,Embedding层的导入路径已调整。旧版本中该层放在keras.layers.embeddings子模块,但新版本(包括Keras 3.x及TensorFlow集成的Keras)里,Embedding直接归到keras.layers根模块下,再用旧路径导入就会触发模块找不到的错误。
修复方案
- 替换导入语句:把所有
from keras.layers.embeddings import Embedding替换为from keras.layers import Embedding - 清理重复导入:你的代码里重复导入了两次
Embedding,删除其中一次即可。
修改后的核心导入代码
from keras.preprocessing import sequence from keras.utils import np_utils from keras.models import Sequential from keras.layers.core import Dense, Dropout, Activation, Lambda # 替换后的正确导入 from keras.layers import Embedding from keras.layers.recurrent import LSTM, SimpleRNN, GRU from keras.preprocessing.text import Tokenizer from collections import defaultdict from keras.layers.convolutional import Convolution1D from keras import backend as K
额外说明
如果你是通过TensorFlow使用Keras(即tf.keras),也可以用以下导入方式,效果完全一致:
from tensorflow.keras.layers import Embedding
内容的提问来源于stack exchange,提问作者NOORDEEN M
相关产品推荐
相关产品推荐

