40Gを超えるデータセットを取得しました。メモリが限られているため、トークナイザーのプログラムが強制終了されたため、データセットを分割しようとしています。word2vecモデルを段階的にトレーニングするにはどうすればよいですか。つまり、個別のデータセットを使用して1つのword2vecモデルをトレーニングするにはどうすればよいですか。
私の現在のword2vecコードは次のとおりです。
model = gensim.models.Word2Vec(documents, size=150, window=10, min_count=1, workers=10)
model.train(documents,total_examples=len(documents),epochs=epochs)
model.save("./word2vec150d/word2vec_{}.model".format(epochs))
どんな助けでもいただければ幸いです!
私は解決策を見つけました:を使用してくださいPathLineSentences
。とても速いです。word2vecモデルを段階的にトレーニングしても、新しい語彙を学習することはできませんが、学習することはPathLineSentences
できます。
from gensim.models.word2vec import PathLineSentences
model = Word2Vec(PathLineSentences(input_dir), size=100, window=5, min_count=5, workers=multiprocessing.cpu_count() * 2, iter=20,sg=1)
単一ファイルの場合は、を使用しますLineSentences
。
from gensim.models.word2vec import LineSentence
model = Word2Vec(LineSentence(file), size=100, window=5, min_count=5, workers=multiprocessing.cpu_count() * 2, iter=20,sg=1)
...
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加