创建ELMo嵌入时我们可以设置句子的最大长度吗?

时间:2020-09-10 11:28:54

标签: python embedding elmo

我要从大量的句子创建ELMO嵌入,以防止出现内存问题,我以10,000的块传递句子,然后将它们连接起来,但是问题是每10,000,它从该10,000组内的句子,而其他组块则有所不同。我想在创建ELMo嵌入时设置句子修复的最大长度。任何建议将不胜感激?

elmo = hub.Module("https://tfhub.dev/google/elmo/3", trainable=True)


def ELMoEmbedding(x):
    embeddingss=elmo(tf.squeeze(tf.cast(x, tf.string)), signature="default", as_dict=True)["elmo"]
    with tf.Session() as sess:
      sess.run(tf.global_variables_initializer())
      sess.run(tf.tables_initializer())
      return sess.run(embeddingss)


list_train = [X_train[i:i+10000] for i in range(0,len(X_train),10000)]
elmo_train = [ELMoEmbedding(x) for x in list_train]

假定前10,000个句子的形状为(10,000,85,1024),而第二组句子的形状为(10,000,105,1024)。

在我的情况下,他们是否有办法将此维度固定为所有句子的最大长度?

0 个答案:

没有答案