我有以下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的数据,但正如你所见-我过滤了句子,只采取那些词在词汇。在
什么会导致这个错误?在
谢谢!在
目前没有回答
相关问题 更多 >
编程相关推荐