小编sur*_*raj的帖子

MemoryError:在python中使用word2vec时无法分配形状和数据类型为float32的数组

我正在尝试从维基百科文本数据训练 word2vec 模型,为此我使用以下代码。

import logging
import os.path
import sys
import multiprocessing

from gensim.corpora import  WikiCorpus
from gensim.models import Word2Vec
from gensim.models.word2vec import LineSentence


if __name__ == '__main__':
    program = os.path.basename(sys.argv[0])
    logger = logging.getLogger(program)

    logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s')
    logging.root.setLevel(level=logging.INFO)
    logger.info("running %s" % ' '.join(sys.argv))

    # check and process input arguments

    if len(sys.argv) < 3:
        print (globals()['__doc__'])
        sys.exit(1)
    inp, outp = sys.argv[1:3]

    model = Word2Vec(LineSentence(inp), size=400, window=5, min_count=5, workers=multiprocessing.cpu_count())

    # trim unneeded model memory = use (much) less RAM
    model.init_sims(replace=True)

    model.save(outp) …
Run Code Online (Sandbox Code Playgroud)

python multiprocessing gensim word2vec python-multiprocessing

2
推荐指数
1
解决办法
3万
查看次数