Python的Fasttext - 模块' fasttext'没有属性' load_model'

时间:2017-07-28 15:29:58

标签: python fasttext

请原谅我的新闻,但是在python上我没有使用fasttext。我正在使用运行python 3.6的anaconda。我的代码如下(只是一个例子):

import fasttext 

model = fasttext.load_model('/home/sproc/share/fastText/model.bin')
print(model.words)

这会返回以下错误:

Traceback (most recent call last):
  File "/media/sf_VBoxShare/LiClipseWorkspace/test/testpack/fasttext.py", line 1, in <module>
    import fasttext 
  File "/media/sf_VBoxShare/LiClipseWorkspace/test/testpack/fasttext.py", line 3, in <module>
   model = fasttext.load_model('/home/sproc/share/fastText/model.bin')
AttributeError: module 'fasttext' has no attribute 'load_model'

在尝试创建单词向量时,cbow和skipgram是一样的。我检查了... / site-packages / fasttext目录中的 init .py文件,它导入了所述属性,但它们不是model.py模块的一部分。我猜这与共享对象文件有关,但我不确定。任何帮助是极大的赞赏。

6 个答案:

答案 0 :(得分:2)

重命名你的python文件。 不要将其命名为fasttext.py。如果您的名字是这样的,那么“import fasttext.py”导入的内容将是您自己的文件。 您可以将其重命名为“fast_text.py”或其他内容。

答案 1 :(得分:1)

这是当我遇到您遇到的错误时对我有用的解决方案;

导入FastText

from gensim.models.wrappers import FastText 

加载二进制文件

model=FastText.load_fasttext_format('wiki.simple.bin')

答案 2 :(得分:0)

@ spencerktm30我建议你使用pyfasttext而不是fasttext,它不再是活动的,它有很多bug。链接到pyfasttext

实际上,在尝试加载C ++预训练模型时我遇到了类似的问题,我不得不切换到使用pyfasttext来使其工作。

所以这应该对你有用:

>>> from pyfasttext import FastText
>>> model = FastText('/home/sproc/share/fastText/model.bin')

答案 3 :(得分:0)

将文件从fasttext.py重命名为另一个名称,它将起作用。

答案 4 :(得分:0)

如果您安装fastText软件包而不是旧的快速文本,则

import fastText 
model = fastText.load_model('/home/sproc/share/fastText/model.bin')

应能按预期工作。

答案 5 :(得分:0)

显然,那里有不同的fasttext python库!
fasttext!= fasttext-win