python 内存溢出MemoryError如何解决 word2vec库
使用word2vec训练model的时候内存溢出MemoryError
分好词的文本文件不到1G,200维,真没搞懂为啥会溢出?难道真是train的时候分两次,第一次先加载词库,第二次再训练神经网络,所以超2G了,于是报错?
简单两行代码
sentences =word2vec.Text8Corpus(u'wikichinesepreprocessed.txt') # 加载语料
model = word2vec.Word2Vec(sentences,size=200,workers=multiprocessing.cpu_count())
报错
warnings.warn("detected Windows; aliasing chunkize to chunkize_serial")
UserWarning: detected Windows; aliasing chunkize to chunkize_serial
Traceback (most recent call last):
model = word2vec.Word2Vec(sentences,size=200,workers=multiprocessing.cpu_count())
Python36-32libsite-packagesgensimmodelsword2vec.py", line 503, in init
self.build_vocab(sentences, trim_rule=trim_rule)
Python36-32libsite-packagesgensimmodelsword2vec.py", line 579, in build_vocab
self.finalize_vocab(update=update) # build tables & arrays
Python36-32libsite-packagesgensimmodelsword2vec.py", line 752, in finalize_vocab
self.reset_weights()
Python36-32libsite-packagesgensimmodelsword2vec.py", line 1173, in reset_weights
self.syn1neg = zeros((len(self.wv.vocab), self.layer1_size), dtype=REAL)
MemoryError
尝试过按eachline分行读入,但是不行啊word2vec如果分行读入,一开始不能设置train参数,不知道会成什么样。
如果一开始设置model设置训练参数,就不能添加文本进行再训练
而如果用chunksize之类的分割成多个小文件,也同样面临上面的问题
有其他解决办法没啊?比如修改python的默认内存溢出设置
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
增量训练:http://blog.csdn.net/qdhy1991...