Flair Elmo Embeddings 在 Pytorch 模型中的使用

问题描述

我正在尝试在每次批量迭代时在 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 还是需要更多处理?

感谢大家的时间:)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)