【问题标题】:Fasttext for Python - module 'fasttext' has no attribute 'load_model'Python 的 Fasttext - 模块“fasttext”没有属性“load_model”
【发布时间】:2017-07-28 15:29:57
【问题描述】:

请原谅我的新手,但 fasttext 在 python 上不适合我。我正在使用运行 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 模块的一部分。我猜这与共享对象文件有关,但我不确定。任何帮助是极大的赞赏。

【问题讨论】:

  • 似乎缺少一些二进制文件
  • @akshay 有什么想法吗?我在~/share/fasttext 下安装了fasttext(可以工作的标准c),我使用pip install fasttext 安装了fasttext,所以我不确定可能是什么问题。
  • 你在使用 Anaconda。如果是这样,Cython 应该能够编译它。如果没有尝试安装 Anaconda,然后用 pip 重新安装它
  • 我确实在使用 Anaconda 并安装了所有这些优点。不完全确定这里发生了什么。
  • 将文件名 fasttext.py 更改为其他名称。确保当前目录中没有名为 fasttext.{py,pyc} 的文件

标签: python fasttext


【解决方案1】:

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

导入快速文本

from gensim.models.wrappers import FastText 

加载二进制文件

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

【讨论】:

  • 赢了 10 对我来说效果很好
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    如果你安装fastText包而不是旧的fasttext,那么

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

    应该按预期工作。

    【讨论】:

      【解决方案4】:

      @spencerktm30 我建议你使用 pyfasttext 而不是 fasttext,它不再处于活动状态并且有很多错误。链接到pyfasttext

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

      所以这应该对你有用:

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

      【讨论】:

      • 虽然理论上这可以回答这个问题,it would be preferable 在这里包含答案的基本部分,并提供链接以供参考。
      • @MatthiasSeifert 我编辑了评论,希望它看起来更好。
      • 截至 2018 年 12 月的软件包页面上的注释:“警告!pyfasttext 不再维护:使用 fastText 存储库中的官方 Python 绑定” pypi.org/project/pyfasttext
      【解决方案5】:

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

      【讨论】:

      • 这与一年前给出的答案相同
      【解决方案6】:

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

      【讨论】:

        猜你喜欢
        • 2020-01-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-29
        • 2018-10-14
        • 1970-01-01
        • 2019-08-02
        • 1970-01-01
        相关资源
        最近更新 更多