tensorflow.python.framework.errors_impl.无效参数错误: 在KERAS LSTM模型中

2024-09-26 22:08:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下lstm模型:

class LSTM_model():

def __init__(self):
    w2v_model = gensim.models.Word2Vec(sentences, size=150, window=10, min_count=2, workers=10)
    pretrained_weights = w2v_model.wv.syn0
    vocab_size, emdedding_size = pretrained_weights.shape
    self.w2v_model = w2v_model
    self.keras_lstm_model = Sequential()
    self.keras_lstm_model.add(Embedding(input_dim = vocab_size, output_dim = emdedding_size, weights = [pretrained_weights]))
    self.keras_lstm_model.add(LSTM(units = emdedding_size))
    self.keras_lstm_model.add(Dense(units = vocab_size))
    self.keras_lstm_model.add(Activation('sigmoid'))
    self.keras_lstm_model.compile(optimizer = 'adam', loss = 'sparse_categorical_crossentropy', metrics = ['mae','acc'])

我的目的是预测给定单词在上下文中的概率。 我有句子列表,我想训练这个模型:

^{pr2}$

其中句子是大约100万个句子的列表(我的训练集)。 我在fit()中得到以下错误:

tensorflow.python.framework.errors_impl.InvalidArgumentError: indices[7,38] = -2147483648 is not in [0, 694415) [[Node: embedding_1/embedding_lookup = GatherV2[Taxis=DT_INT32, Tindices=DT_INT32, Tparams=DT_FLOAT, _class=["loc:@training/Adam/Assign_2"], _device="/job:localhost/replica:0/task:0/device:CPU:0"](embedding_1/embeddings/read, embedding_1/Cast, training/Adam/gradients/embedding_1/embedding_lookup_grad/concat/axis)]]

我想这可能是因为我有OOV的数据,但正如你所见-我过滤了句子,只采取那些词在词汇。在

什么会导致这个错误?在

谢谢!在


Tags: 模型selfaddsizemodeldtembedding句子

热门问题