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

3
请原谅我的新手操作,但是在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和Skip-gram做的是相同的事情。我查看了... /site-packages/fasttext目录下的init.py文件,并导入了相关属性,但它们不是model.py模块的一部分。我猜想这与共享对象文件有关,但我不确定。非常感谢任何帮助。


好像有一些二进制文件丢失了。 - undefined
@akshay 有什么想法吗?我已经在~/share/fasttext下安装了可以正常工作的fasttext(标准C语言),并且使用pip install fasttext安装了fasttext,所以我不太确定问题出在哪里。 - undefined
你是否正在使用Anaconda?如果是的话,Cython应该能够编译它。如果没有,请尝试安装Anaconda,然后使用pip重新安装它。 - undefined
我确实在使用Anaconda,并且已经安装了所有相关的好东西。对于这里发生的事情,我并不完全确定。 - undefined
2
将文件名 fasttext.py 更改为其他名称。 确保当前目录中没有以 fasttext.{py, pyc} 命名的文件。 - undefined
6个回答

8

这是我遇到和你一样的错误时,解决问题的方案:

导入 FastText

from gensim.models.wrappers import FastText 

加载二进制文件

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

1
在Windows 10上对我来说运行良好。 - undefined

3

重命名你的Python文件。 不要将其命名为fasttext.py。如果你命名成这样,那么通过"import fasttext.py"导入的内容将会是你自己的文件。 你可以将其重命名为'fast_text.py'或其他名称。


1
如果您安装快速文本 fastText包而不是旧的fasttext,则
import fastText 
model = fastText.load_model('/home/sproc/share/fastText/model.bin')
应如预期般工作。

0

@spencerktm30 我建议你使用pyfasttext而不是不再活跃且存在许多bug的fasttext。链接到 pyfasttext

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

所以这对你来说应该有帮助:

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

虽然这理论上可以回答问题,但最好在这里包含答案的关键部分,并提供链接作为参考。 - undefined
1
@MatthiasSeifert 我修改了评论,希望看起来更好。 - undefined
请注意,截至2018年12月的软件包页面上有如下提示:“警告!pyfasttext不再维护:请使用来自fastText存储库的官方Python绑定。” https://pypi.org/project/pyfasttext - undefined

0

0
将fasttext.py文件重命名为其他名称,它就能正常工作。

这是一年前给出的相同答案。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,