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