Yas
Yas

Reputation: 901

About Graphlab library importing

In Ubuntu 14.04, I have installed Graphlab based on https://dato.com/download/install-graphlab-create-command-line.html and it seems to be working fine.

However, I receive this error when trying to use a recommender module:

import graphlab 
from graphlab.recommender import ranking_factorization_recommender

In the first line, graphlab is imported without any error. However, the second line causes this error:

---------------------------------------------------------------------------
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

How can the problem be solved? Thanks

Upvotes: 0

Views: 389

Answers (2)

Shubham Chaudhary
Shubham Chaudhary

Reputation: 51023

Graphlab has already imported everything for you in their __init__.py file.

Just do:

from graphlab import ranking_factorization_recommender
from graphlab import <any_other_recommender>

Here is a snippet of graphlab.__init__.py file:

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
...

Upvotes: 0

papayawarrior
papayawarrior

Reputation: 1027

It's just a namespace issue. recommender actually lives in the `toolkits module, so this should work:

import graphlab
from graphlab.toolkits.recommender import ranking_factorization_recommender

Upvotes: 1

Related Questions