graspologic-org / graspologic

Python package for graph statistics

Home Page:https://graspologic-org.github.io/graspologic/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Impossible to use, get error message AttributeError: module 'numpy' has no attribute 'object' [BUG]

yannis1962 opened this issue · comments

Expected Behavior

I would like to run a simple script:

import graspologic
import networkx as nx

G=read_graphml("test.graphml")
(Gx,positions)=graspologic.layouts.layout_tsne(G)
colors=graspologic.layouts.categorical_colors(partitions)
graspologic.layouts.save_graph("test.png", G, positions, colors)

Actual Behavior

I get the following error message:

python3 test-graspologic.py
/Users/yannis/.local/lib/python3.8/site-packages/tensorflow/python/framework/dtypes.py:513: FutureWarning: In the future np.object will be defined as the corresponding NumPy scalar. (This may have returned Python scalars in past versions.
np.object,
Traceback (most recent call last):
File "test-graspologic.py", line 1, in
import graspologic
File "/Users/yannis/miniconda3/lib/python3.8/site-packages/graspologic/init.py", line 4, in
import graspologic.align
File "/Users/yannis/miniconda3/lib/python3.8/site-packages/graspologic/align/init.py", line 5, in
from .seedless_procrustes import SeedlessProcrustes
File "/Users/yannis/miniconda3/lib/python3.8/site-packages/graspologic/align/seedless_procrustes.py", line 7, in
import ot
File "/Users/yannis/miniconda3/lib/python3.8/site-packages/ot/init.py", line 22, in
from . import lp
File "/Users/yannis/miniconda3/lib/python3.8/site-packages/ot/lp/init.py", line 22, in
from .emd_wrap import emd_c, check_result, emd_1d_sorted
File "ot/lp/emd_wrap.pyx", line 13, in init ot.lp.emd_wrap
File "/Users/yannis/miniconda3/lib/python3.8/site-packages/ot/utils.py", line 18, in
from .backend import get_backend, Backend
File "/Users/yannis/miniconda3/lib/python3.8/site-packages/ot/backend.py", line 123, in
import tensorflow as tf
File "/Users/yannis/.local/lib/python3.8/site-packages/tensorflow/init.py", line 41, in
from tensorflow.python.tools import module_util as _module_util
File "/Users/yannis/.local/lib/python3.8/site-packages/tensorflow/python/init.py", line 45, in
from tensorflow.python import data
File "/Users/yannis/.local/lib/python3.8/site-packages/tensorflow/python/data/init.py", line 25, in
from tensorflow.python.data import experimental
File "/Users/yannis/.local/lib/python3.8/site-packages/tensorflow/python/data/experimental/init.py", line 96, in
from tensorflow.python.data.experimental import service
File "/Users/yannis/.local/lib/python3.8/site-packages/tensorflow/python/data/experimental/service/init.py", line 21, in
from tensorflow.python.data.experimental.ops.data_service_ops import distribute
File "/Users/yannis/.local/lib/python3.8/site-packages/tensorflow/python/data/experimental/ops/data_service_ops.py", line 25, in
from tensorflow.python.data.experimental.ops import compression_ops
File "/Users/yannis/.local/lib/python3.8/site-packages/tensorflow/python/data/experimental/ops/compression_ops.py", line 20, in
from tensorflow.python.data.util import structure
File "/Users/yannis/.local/lib/python3.8/site-packages/tensorflow/python/data/util/structure.py", line 26, in
from tensorflow.python.data.util import nest
File "/Users/yannis/.local/lib/python3.8/site-packages/tensorflow/python/data/util/nest.py", line 41, in
from tensorflow.python.framework import sparse_tensor as _sparse_tensor
File "/Users/yannis/.local/lib/python3.8/site-packages/tensorflow/python/framework/sparse_tensor.py", line 29, in
from tensorflow.python.framework import constant_op
File "/Users/yannis/.local/lib/python3.8/site-packages/tensorflow/python/framework/constant_op.py", line 29, in
from tensorflow.python.eager import execute
File "/Users/yannis/.local/lib/python3.8/site-packages/tensorflow/python/eager/execute.py", line 27, in
from tensorflow.python.framework import dtypes
File "/Users/yannis/.local/lib/python3.8/site-packages/tensorflow/python/framework/dtypes.py", line 513, in
np.object,
File "/Users/yannis/miniconda3/lib/python3.8/site-packages/numpy/init.py", line 284, in getattr
raise AttributeError("module {!r} has no attribute "
AttributeError: module 'numpy' has no attribute 'object'

Example Code

import graspologic
import networkx as nx

G=read_graphml(test.graphml")
(Gx,positions)=graspologic.layouts.layout_tsne(G)
colors=graspologic.layouts.categorical_colors(partitions)
graspologic.layouts.save_graph("test.png", G, positions, colors)

Full Traceback

Paste the full traceback in case there is an exception

Your Environment

  • Python version: 3.8.3
  • graspologic version:
    pip install --upgrade graspologic
    Requirement already up-to-date: graspologic in /Users/yannis/miniconda3/lib/python3.8/site-packages (2.0.1)
    Requirement already satisfied, skipping upgrade: networkx>=2.1 in /Users/yannis/.local/lib/python3.8/site-packages (from graspologic) (2.5)
    Requirement already satisfied, skipping upgrade: numpy>=1.8.1 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from graspologic) (1.24.0)
    Requirement already satisfied, skipping upgrade: beartype>=0.10.0 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from graspologic) (0.11.0)
    Requirement already satisfied, skipping upgrade: hyppo>=0.3.2 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from graspologic) (0.3.2)
    Requirement already satisfied, skipping upgrade: matplotlib!=3.3.,!=3.6.1,>=3.0.0 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from graspologic) (3.6.2)
    Requirement already satisfied, skipping upgrade: typing-extensions>=4.4.0 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from graspologic) (4.4.0)
    Requirement already satisfied, skipping upgrade: scikit-learn>=0.22.0 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from graspologic) (1.2.0)
    Requirement already satisfied, skipping upgrade: scipy>=1.4.0 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from graspologic) (1.9.3)
    Requirement already satisfied, skipping upgrade: umap-learn>=0.4.6 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from graspologic) (0.5.3)
    Requirement already satisfied, skipping upgrade: POT>=0.7.0 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from graspologic) (0.8.2)
    Requirement already satisfied, skipping upgrade: gensim>=4.0.0 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from graspologic) (4.3.0)
    Requirement already satisfied, skipping upgrade: anytree>=2.8.0 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from graspologic) (2.8.0)
    Requirement already satisfied, skipping upgrade: joblib>=0.17.0 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from graspologic) (1.2.0)
    Requirement already satisfied, skipping upgrade: graspologic-native>=1.1.1 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from graspologic) (1.1.1)
    Requirement already satisfied, skipping upgrade: seaborn>=0.11.0 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from graspologic) (0.12.1)
    Requirement already satisfied, skipping upgrade: decorator>=4.3.0 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from networkx>=2.1->graspologic) (4.4.2)
    Requirement already satisfied, skipping upgrade: autograd>=1.3 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from hyppo>=0.3.2->graspologic) (1.5)
    Requirement already satisfied, skipping upgrade: numba>=0.46 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from hyppo>=0.3.2->graspologic) (0.56.4)
    Requirement already satisfied, skipping upgrade: contourpy>=1.0.1 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from matplotlib!=3.3.
    ,!=3.6.1,>=3.0.0->graspologic) (1.0.6)
    Requirement already satisfied, skipping upgrade: kiwisolver>=1.0.1 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from matplotlib!=3.3.,!=3.6.1,>=3.0.0->graspologic) (1.2.0)
    Requirement already satisfied, skipping upgrade: cycler>=0.10 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from matplotlib!=3.3.
    ,!=3.6.1,>=3.0.0->graspologic) (0.10.0)
    Requirement already satisfied, skipping upgrade: packaging>=20.0 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from matplotlib!=3.3.,!=3.6.1,>=3.0.0->graspologic) (20.4)
    Requirement already satisfied, skipping upgrade: pillow>=6.2.0 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from matplotlib!=3.3.
    ,!=3.6.1,>=3.0.0->graspologic) (7.2.0)
    Requirement already satisfied, skipping upgrade: pyparsing>=2.2.1 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from matplotlib!=3.3.,!=3.6.1,>=3.0.0->graspologic) (2.4.7)
    Requirement already satisfied, skipping upgrade: python-dateutil>=2.7 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from matplotlib!=3.3.
    ,!=3.6.1,>=3.0.0->graspologic) (2.8.1)
    Requirement already satisfied, skipping upgrade: fonttools>=4.22.0 in /Users/yannis/miniconda3/lib/python3.8/site-packages/fonttools-4.36.1.dev0-py3.8-macosx-10.9-x86_64.egg (from matplotlib!=3.3.*,!=3.6.1,>=3.0.0->graspologic) (4.36.1.dev0)
    Requirement already satisfied, skipping upgrade: threadpoolctl>=2.0.0 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from scikit-learn>=0.22.0->graspologic) (2.1.0)
    Requirement already satisfied, skipping upgrade: tqdm in /Users/yannis/miniconda3/lib/python3.8/site-packages (from umap-learn>=0.4.6->graspologic) (4.46.0)
    Requirement already satisfied, skipping upgrade: pynndescent>=0.5 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from umap-learn>=0.4.6->graspologic) (0.5.8)
    Requirement already satisfied, skipping upgrade: smart-open>=1.8.1 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from gensim>=4.0.0->graspologic) (4.2.0)
    Requirement already satisfied, skipping upgrade: FuzzyTM>=0.4.0 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from gensim>=4.0.0->graspologic) (2.0.5)
    Requirement already satisfied, skipping upgrade: six>=1.9.0 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from anytree>=2.8.0->graspologic) (1.14.0)
    Requirement already satisfied, skipping upgrade: pandas>=0.25 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from seaborn>=0.11.0->graspologic) (1.5.2)
    Requirement already satisfied, skipping upgrade: future>=0.15.2 in /Users/yannis/.local/lib/python3.8/site-packages (from autograd>=1.3->hyppo>=0.3.2->graspologic) (0.18.2)
    Requirement already satisfied, skipping upgrade: llvmlite<0.40,>=0.39.0dev0 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from numba>=0.46->hyppo>=0.3.2->graspologic) (0.39.1)
    Requirement already satisfied, skipping upgrade: importlib-metadata; python_version < "3.9" in /Users/yannis/miniconda3/lib/python3.8/site-packages (from numba>=0.46->hyppo>=0.3.2->graspologic) (5.2.0)
    Requirement already satisfied, skipping upgrade: setuptools in /Users/yannis/miniconda3/lib/python3.8/site-packages (from numba>=0.46->hyppo>=0.3.2->graspologic) (46.4.0.post20200518)
    Requirement already satisfied, skipping upgrade: pyfume in /Users/yannis/miniconda3/lib/python3.8/site-packages (from FuzzyTM>=0.4.0->gensim>=4.0.0->graspologic) (0.2.25)
    Requirement already satisfied, skipping upgrade: pytz>=2020.1 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from pandas>=0.25->seaborn>=0.11.0->graspologic) (2020.1)
    Requirement already satisfied, skipping upgrade: zipp>=0.5 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from importlib-metadata; python_version < "3.9"->numba>=0.46->hyppo>=0.3.2->graspologic) (3.11.0)
    Requirement already satisfied, skipping upgrade: simpful in /Users/yannis/miniconda3/lib/python3.8/site-packages (from pyfume->FuzzyTM>=0.4.0->gensim>=4.0.0->graspologic) (2.9.0)
    Requirement already satisfied, skipping upgrade: fst-pso in /Users/yannis/miniconda3/lib/python3.8/site-packages (from pyfume->FuzzyTM>=0.4.0->gensim>=4.0.0->graspologic) (1.8.1)
    Requirement already satisfied, skipping upgrade: requests in /Users/yannis/miniconda3/lib/python3.8/site-packages (from simpful->pyfume->FuzzyTM>=0.4.0->gensim>=4.0.0->graspologic) (2.23.0)
    Requirement already satisfied, skipping upgrade: miniful in /Users/yannis/miniconda3/lib/python3.8/site-packages (from fst-pso->pyfume->FuzzyTM>=0.4.0->gensim>=4.0.0->graspologic) (0.0.6)
    Requirement already satisfied, skipping upgrade: chardet<4,>=3.0.2 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from requests->simpful->pyfume->FuzzyTM>=0.4.0->gensim>=4.0.0->graspologic) (3.0.4)
    Requirement already satisfied, skipping upgrade: idna<3,>=2.5 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from requests->simpful->pyfume->FuzzyTM>=0.4.0->gensim>=4.0.0->graspologic) (2.9)
    Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from requests->simpful->pyfume->FuzzyTM>=0.4.0->gensim>=4.0.0->graspologic) (2020.6.20)
    Requirement already satisfied, skipping upgrade: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /Users/yannis/miniconda3/lib/python3.8/site-packages (from requests->simpful->pyfume->FuzzyTM>=0.4.0->gensim>=4.0.0->graspologic) (1.25.8)

Additional Details

Any other contextual information you might feel is important.

can you post the output of pip list for your environment?

I've not seen this issue before and it seems to be related to the interaction between numpy and tensorflow. Note that tensorflow is not required by graspologic (it is an optional dependency of POT, I believe, which is where the error is coming from), so you should be able to try removing tensorflow from your environment and see if that works. Another thing I notice is that numpy 1.24 is very recent (released a few weeks ago), so perhaps this is an issue with the new versions of numpy and tensorflow not being compatibile. You could therefore also try downgrading numpy to an older version.

Please let us know if either of the above do or don't work, if there are incompatibilities in these packages we'd like to know it so that other users dont run into the same issues. Thanks

closing due to lack of info