您的位置:首页 > 其它

解决fasttext内存不足无法读取模型的问题

2017-12-15 21:56 351 查看
fasttext是个好东西,是由facebook在2016年推出的一个训练词向量的模型。相比于之前Google的word2vec,fasttext可以解决out of vocabulary的问题。fasttext还能够用于有监督的文本分类。更赞的是,facebook提供了200多种语言的预训练模型和词向量。

然而,在安装完fasttext后,当我读取了3GB的中文模型时,却出了下面的问题:

Traceback (most recent call last):
File "text_fasttext.py", line 7, in <module>
text()
File "text_fasttext.py", line 4, in text
model = fasttext.load_model('wiki.zh.bin')
File "fasttext/fasttext.pyx", line 154, in fasttext.fasttext.load_model
Exception: fastText: Cannot load wiki.zh.bin due to C++ extension failed to allocate the memory


上网查了下,大概意思是C++扩展无法分配足够的内存用于存储模型。然而,我的mac内存明明是够的,上网搜了很久也没发现解决方法。

最后,终于看到了一种解决方法:使用pyfasttext。 这是fasttext的另一种实现,文档链接:https://pypi.python.org/pypi/pyfasttext/ 。 看来是原版的实现有点问题。

执行 pip3 install pyfasttext 进行安装

读取模型:

from pyfasttext import FastText

model = FastText(‘wiki.zh.bin’)

ok,模型可以读取了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐