【问题标题】:How to solve this error: module 'gensim' has no attribute 'models'如何解决此错误:模块“gensim”没有属性“模型”
【发布时间】:2017-05-31 10:30:49
【问题描述】:

我想用 gensim 训练一个 word2vec 模型
蟒蛇 3.5.3
gensim 2.1.0
numpy 1.12.1+mkl
scipy 0.19.0

import gensim
import codecs
class MySentences(object):
    def __init__(self,filename):
        self.filename=filename
    def __iter__(self):
        with codecs.open(self.filename) as f:
            for line in f.readlines():
                wordlist=list()
                for word in line:
                    wordlist.append(word)
                yield wordlist

sentences=MySentences('D:/Documents/Data/icwb2-data-processed/pku_training.rmspace.utf8')
model=gensim.models.Word2Vec(sentences)
model.save('w.model')

我运行这段代码,我导致了错误:

AttributeError: 模块 'gensim' 没有属性 'models'

由于我将此文件命名为“gensim.py”而导致此错误
谢谢@BurhanKhalid !!!

【问题讨论】:

  • 试试from gensim.models import Word2Vec,然后用model=Word2Vec(sentences)替换model=gensim.models.Word2Vec(sentences),这样行吗?
  • 不要将文件另存为gensim.py
  • @BurhanKhalid 你是对的!谢谢!

标签: python python-3.x gensim word2vec


【解决方案1】:

在python中,如果你自己写的代码模块名与库模块名相同,可能会报错。

因此,您不应将训练文件命名为“gensim.py”,这会覆盖 gensim 库文件:“gensim.py”

【讨论】:

    【解决方案2】:

    您必须从 gensim 导入模型。

    https://radimrehurek.com/gensim/

    【讨论】:

      猜你喜欢
      • 2022-07-12
      • 2019-08-19
      • 1970-01-01
      • 2018-02-20
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      • 2020-09-07
      相关资源
      最近更新 更多