次のように、すべてのバッチ反復で、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 に直接送ることができますか、それともさらに処理が必要ですか?
お時間をいただきありがとうございました:)