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