THUMNLab / AutoGL

An autoML framework & toolkit for machine learning on graphs.
http://mn.cs.tsinghua.edu.cn/AutoGL/
Apache License 2.0
1.08k stars 121 forks source link

[BUG] AutoGL import frozen when the backend is PyG #109

Closed TheLuminary closed 1 year ago

TheLuminary commented 2 years ago

the procedure of import frozen when the backend is selected as PyG. When the backend is selected as DGL, the import of autogl is good.

Environment (please complete the following information):

To Reproduce Steps to reproduce the behavior:

  1. Run Python Interpreter with PyG backend selected: AUTOGL_BACKEND=pyg python.
  2. Run import autogl in Python shell, then the is import is frozen.
  3. Press Ctrl + C to interrupt the process and you may see the traces as follows.
  4. See the logs.

Trace Traceback (most recent call last):
File "backend.py", line 2, in
import autogl
File "/home/featurize/PycharmProjects/AutoGL-develop/AutoGL-dev/autogl/init.py", line 1, in
from . import (
File "/home/featurize/PycharmProjects/AutoGL-develop/AutoGL-dev/autogl/datasets/init.py", line 14, in
from ._ogb import (
File "/home/featurize/PycharmProjects/AutoGL-develop/AutoGL-dev/autogl/datasets/_ogb.py", line 4, in
from ogb.nodeproppred import NodePropPredDataset
File "/environment/miniconda3/envs/AutoGL-develop/lib/python3.7/site-packages/ogb/nodeproppred/init.py", line 1, in from .evaluate import Evaluator File "/environment/miniconda3/envs/AutoGL-develop/lib/python3.7/site-packages/ogb/nodeproppred/evaluate.py", line 1, in from sklearn.metrics import roc_auc_score File "/environment/miniconda3/envs/AutoGL-develop/lib/python3.7/site-packages/sklearn/init.py", line 82, in from .base import clone File "/environment/miniconda3/envs/AutoGL-develop/lib/python3.7/site-packages/sklearn/base.py", line 17, in from .utils import _IS_32BIT File "/environment/miniconda3/envs/AutoGL-develop/lib/python3.7/site-packages/sklearn/utils/init.py", line 25, in from . import _joblib File "/environment/miniconda3/envs/AutoGL-develop/lib/python3.7/site-packages/sklearn/utils/_joblib.py", line 7, in import joblib File "/environment/miniconda3/envs/AutoGL-develop/lib/python3.7/site-packages/joblib/init.py", line 113, in from .memory import Memory, MemorizedResult, register_store_backend File "/environment/miniconda3/envs/AutoGL-develop/lib/python3.7/site-packages/joblib/memory.py", line 32, in from ._store_backends import StoreBackendBase, FileSystemStoreBackend File "/environment/miniconda3/envs/AutoGL-develop/lib/python3.7/site-packages/joblib/_store_backends.py", line 15, in from .backports import concurrency_safe_rename File "/environment/miniconda3/envs/AutoGL-develop/lib/python3.7/site-packages/joblib/backports.py", line 7, in from distutils.version import LooseVersion File "", line 983, in _find_and_load File "", line 963, in _find_and_load_unlocked File "", line 906, in _find_spec File "/environment/miniconda3/envs/AutoGL-develop/lib/python3.7/site-packages/_distutils_hack/init.py", line 97, in find_spec return method() File "/environment/miniconda3/envs/AutoGL-develop/lib/python3.7/site-packages/_distutils_hack/init.py", line 108, in spec_for_distutils mod = importlib.import_module('setuptools._distutils') File "/environment/miniconda3/envs/AutoGL-develop/lib/python3.7/importlib/init.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "/environment/miniconda3/envs/AutoGL-develop/lib/python3.7/site-packages/setuptools/init.py", line 16, in import setuptools.version File "/environment/miniconda3/envs/AutoGL-develop/lib/python3.7/site-packages/setuptools/version.py", line 1, in import pkg_resources File "", line 202, in _lock_unlock_module File "", line 98, in acquire KeyboardInterrupt

Screenshots (omitted)

jenghub commented 1 year ago

Same issue here with PyTorch 1.13 and AutoGL 0.3.1. Any fixes? Would really like to try this library with PyG backend. Thanks!

general502570 commented 1 year ago

Sorry for late response, the bug sometimes happens because importing pkg_resources in such case may cost very long time. There is a possible solution below:

  1. Check if you can import pkg_resources directly in your environment.
  2. If yes, write import pkg_resources at the beginning of the code you will run. As such, pkg_resources will be imported in a fast way.