我要从大量的句子创建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)。
在我的情况下,他们是否有办法将此维度固定为所有句子的最大长度?