微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决创建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,105,1024)。

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。