【问题标题】:AttributeError: type object 'Word2Vec' has no attribute 'load_word2vec_format'AttributeError:类型对象“Word2Vec”没有属性“load_word2vec_format”
【发布时间】:2017-02-21 09:49:33
【问题描述】:

我正在尝试实现 word2vec 模型并得到属性错误

AttributeError:类型对象“Word2Vec”没有属性“load_word2vec_format”

下面是代码:

wv = Word2Vec.load_word2vec_format("GoogleNews-vectors-negative300.bin.gz", binary=True)
wv.init_sims(replace=True)

请告诉我问题?

【问题讨论】:

    标签: python nlp gensim word2vec


    【解决方案1】:

    您是如何安装 gensim 的,安装的是什么版本?

    (当前预发布)gensim 1.0 中的 API 更改将 load_word2vec_format() 移动到名为 KeyedVectors 的帮助程序类。

    此时(2017 年 2 月)您可能不想使用预发布版本,除非您是经验丰富的 gensim 用户并密切关注发布说明[CHANGELOG.md][1]

    如果有意在此 API 更改中使用更高版本的 gensim,您将改为使用:

    KeyedVectors.load_word2vec_format("GoogleNews-vectors-negative300.bin.gz", binary=True)
    

    【讨论】:

    • 我是 gensim 新手并使用 1.0.0rc2。我尝试使用 KeyedVector: import KeyedVectors KeyedVectors.load_word2vec_format("GoogleNews-vectors-negative300.bin.gz", binary=True) 但我仍然收到错误消息。我正在使用 Python 2.7,我应该升级到 Anaconda,因为某些软件包在那里运行良好
    • 您是如何安装 gensim 的?我不相信pip install gensim 会给你那个预发布版本。尝试使用KeyedVector 后,您遇到了什么实际错误? (不可能是相同的错误,并且确切的消息对于解决很重要。)
    【解决方案2】:
    gojomo的回答是对的

    gensim.models.KeyedVectors.load_word2vec_format("GoogleNews-vectors-negative300.bin.gz", binary=True)

    尝试升级gensim的所有依赖项(例如smart_open),如果仍然出现以下错误

    pip install --upgrade gensim

    文件“/home/liangn/PythonProjects/DeepRecommendation/Algorithm/Word2Vec.py”,第 18 行,在 init 中 self.model = gensim.models.KeyedVectors.load_word2vec_format(w2v_path, binary=True)

    文件“/home/liangn/PythonProjects/venvLiang/lib/python2.7/site-packages/gensim/models/keyedvectors.py”,第 191 行,load_word2vec_format,utils.smart_open(fname) 为 fin:

    文件“/home/liangn/PythonProjects/venvLiang/lib/python2.7/site-packages/smart_open/smart_open_lib.py”,第 138 行,在 smart_open return file_smart_open(parsed_uri.uri_path, mode)

    文件“/home/liangn/PythonProjects/venvLiang/lib/python2.7/site-packages/smart_open/smart_open_lib.py”,第 642 行,在 file_smart_open return compression_wrapper(open(fname, mode), fname, mode)

    文件“/home/liangn/PythonProjects/venvLiang/lib/python2.7/site-packages/smart_open/smart_open_lib.py”,第630行,在compression_wrapper中 return make_closing(GzipFile)(file_obj, mode)

    文件“/usr/lib64/python2.7/gzip.py”,第 94 行,在 init 中 fileobj = self.myfileobj = builtin.open(filename, mode or 'rb')

    TypeError:强制转换为 Unicode:需要字符串或缓冲区,找到文件

    【讨论】:

      猜你喜欢
      • 2021-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 1970-01-01
      • 1970-01-01
      • 2021-11-09
      • 2019-06-08
      相关资源
      最近更新 更多