Об импорте библиотеки Graphlab
В Ubuntu 14.04 я установил Graphlab на основе https://dato.com/download/install-graphlab-create-command-line.html и, похоже, он работает нормально.
Тем не менее, я получаю эту ошибку при попытке использовать модуль рекомендации:
import graphlab
from graphlab.recommender import ranking_factorization_recommender
В первой строке graphlab импортируется без ошибок. Однако вторая строка вызывает эту ошибку:
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-5-34df81ffb957> in <module>()
----> 1 from graphlab.recommender import ranking_factorization_recommender
ImportError: No module named recommender
Как решить проблему? Спасибо
2 ответа
Решение
Это просто проблема пространства имен. recommender
фактически живет в модуле `toolkits, так что это должно работать:
import graphlab
from graphlab.toolkits.recommender import ranking_factorization_recommender
Graphlab уже импортировал все для вас в своих __init__.py
файл.
Просто делать:
from graphlab import ranking_factorization_recommender
from graphlab import <any_other_recommender>
Вот фрагмент graphlab.__init__.py
файл:
from graphlab.util import get_runtime_config
from graphlab.util import set_runtime_config
import graphlab.connect as _mt
import graphlab.connect.aws as aws
from . import visualization
import os as _os
import sys as _sys
if _sys.platform != 'win32' or \
(_os.path.exists(_os.path.join(_os.path.dirname(__file__), 'cython', 'libstdc++-6.dll')) and \
_os.path.exists(_os.path.join(_os.path.dirname(__file__), 'cython', 'libgcc_s_seh-1.dll'))):
from graphlab.data_structures.sgraph import Vertex, Edge
from graphlab.data_structures.sgraph import SGraph
from graphlab.data_structures.sarray import SArray
from graphlab.data_structures.sframe import SFrame
from graphlab.data_structures.sketch import Sketch
from graphlab.data_structures.image import Image
from graphlab.data_structures.sgraph import load_sgraph, load_graph
from graphlab.toolkits._model import Model, CustomModel
import graphlab.aggregate
import graphlab.toolkits
import graphlab.toolkits.clustering as clustering
import graphlab.toolkits.distances as distances
...