Ошибка атрибута: модуль ‘gensim.models.word2vec’ не имеет атрибута ‘load’

#python-3.x #jupyter-notebook

#python-3.x #jupyter-ноутбук

Вопрос:

Я импортирую текстовый файл с рабочего стола для работы с моделью gensim в ноутбуке jupyter. Однако он возвращает, что:

«Трассировка ошибки атрибута (последний последний вызов) в —-> 1 model = word2vec.load (r’C:UsersqlmDesktopglobalwarming.txt ‘)

Ошибка атрибута: модуль ‘gensim.models.word2vec’ не имеет атрибута ‘load'»

Как я могу решить эту проблему

 import numpy as np
import pandas as pd
import gensim
from matplotlib import pyplot as plt
from gensim.models import word2vec
from collections import defaultdict
from sklearn.cluster import KMeans

model = word2vec.Text8Corpus(r'C:UsersqlmDesktopglobalwarming.txt')
model = word2vec.load(r'C:UsersqlmDesktopglobalwarming.txt')
  

Комментарии:

1. Пожалуйста, обновите свой вопрос, чтобы код и трассировка были правильно отформатированы.

Ответ №1:

Существует названный модуль word2vec и внутри него названный класс Word2Vec , поскольку Word2Vec класс импортируется в __init__.py of gensim.models , вы можете импортировать его, как вы пытались раньше:

 from gensim.models import Word2Vec
  

Тогда у вас будет доступ к методу load.

Вы также можете использовать полное пространство имен.

Итак:

 # Will work as long as models.__init__ keep it available
from gensim.models import Word2Vec
  

Но:

 # Will always work as long as the namespace is not altered
from gensim.models.word2vec import Word2Vec
  

Я лично предпочитаю второй вариант.