Об импорте библиотеки 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
...
Другие вопросы по тегам