word2vec模型训练问题--解决内存过载out of mem
2018-08-22 本文已影响64人
布口袋_天晴了
选择第四种方法,可以防止加载数据内存过载问题。 因为在模型训练时,sentences是一个迭代器,不会把全部数据加载到内存,只把需要的一部分数据加载到内存中。
语料载入方法:
1)sentences = [['你好', ',', '好久不见', '。'], ['今天', '天气', '真好' ',', '我们', '出去', '玩', '吧', '。']]
2)sentences=word2vec.Text8Corpus('语料名')
http://mattmahoney.net/dc/text8.zip 可下载数据 text8.zip解压 text8文件里的数据格式是以空格分开的,只有一行数据:sentences=word2vec.Text8Corpus('text8') 它会自己切分句子长度 sentences=word2vec.Text8Corpus('cropus.txt')3)sentences = word2vec.LineSentence('语料名')
Python gensim.models.word2vec.LineSentence() Examples
sentences = word2vec.LineSentence('cropus.txt') cropus.txt是多行的4)sentences = word2vec.PathLineSentences('baikeData\\')
处理某个目录下的文件,按照文件名字母排序的顺序处理。
sentences = word2vec.PathLineSentences('baikeData\\').txt文件的格式:多行,且词与词之间用空格分开
参考文章:
【1】models.word2vec – Word2vec embeddings
【2】gensim