1

我正在尝试在每次批量迭代时在 PyTorch 模型上生成 elmo 嵌入,例如:

for batch in iterator:
        optimizer.zero_grad()
        embeddings = get_elmo_embeddings(batch.dataset.examples)
        predictions = model(embeddings).squeeze(1)
        target = batch.target

where the get elmo embeddings is something like:

from flair.embeddings import StackedEmbeddings
from flair.embeddings import ELMoEmbeddings
from flair.data import Sentence


elmo_embedding = ELMoEmbeddings('original')
stacked_embeddings = StackedEmbeddings(embeddings = [elmo_embedding])

def get_elmo_embeddings(text):
    flat_list = list()
    for x in text:
      sentence = Sentence(x.text)
      stacked_embeddings.embed(sentence)
    
    return elmo(stacked_embeddings)

为了将嵌入提供给模型,但问题是对于单个批次,创建它们需要数小时..我做错了什么吗?关于如何使它变得更好的任何建议?

此外,当我将它提供给模型时,它可以直接进入 GRU 还是需要更多处理?

谢谢大家的时间:)

4

0 回答 0