语言自走炮 2019-05-19 09:29 采纳率: 0%
浏览 1389
已结题

如何解决训练词向量word2vec时出现的内存问题?

用13GB的语料进行词向量的训练的话,用16GB的电脑,怎样防止内存溢出

最近在学习自己训练词向量,整理了13GB的小说语料,
昨晚设置好从分词做到词向量训练,结果今天早上看了一下内存溢出。
仅仅只完成了130M的分词,连词向量的训练都没开始就宕机了。
下图为执行代码 分词工具使用的是北大的pkuseg

请问应该如何修改代码?
这是我第一次做实战性质的项目 完全没有经验
还请各位前辈帮忙修改代码

#文本预处理
sentences = []
rules = u"[\u4e00-\u9fa5]+"
pattern = re.compile(rules)
f_writer = open("data/分词后的1s1lCN13G.txt", "w", encoding="utf-8")

with open("data/1s1lCN13G.txt", "r" , encoding="utf-8") as f_reader:
    for line in f_reader:
        if line == "" or line is None:
            continue
        line = " ".join(seg.cut(line))
        seg_list = pattern.findall(line)
        word_list = []
        for word in seg_list:
            if word not in stop_words:
                word_list.append(word)
        if len(word_list) > 0:
            sentences.append(word_list)
            line = " ".join(word_list)
            f_writer.write(line + "\n")
            f_writer.flush()
f_writer.close()
#模型训练
model = word2vec.Word2Vec(sentences,sg=1,hs=1,window=10,min_count=20,iter=10,size=256,workers=16)
model.save("data/13G")
  • 写回答

2条回答 默认 最新

  • threenewbee 2019-05-19 09:43
    关注
    评论

报告相同问题?

悬赏问题

  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样