antoinecarme / pyaf

PyAF is an Open Source Python library for Automatic Time Series Forecasting built on top of popular pydata modules.
BSD 3-Clause "New" or "Revised" License
458 stars 73 forks source link

No module named 'pyaf.HierarchicalForecastEngine' #123

Closed geniusnhu closed 4 years ago

geniusnhu commented 4 years ago

When importing HierarchicalForecastEngine to perform forecast, cannot import HierarchicalForecastEngine from pyaf module. Error as showed below

image

antoinecarme commented 4 years ago

@geniusnhu

Thanks for using pyaf.

What version of python, pyaf, jupyter etc are you using ? A copy-paste of the output of this script in your local system can provide all that :

https://github.com/antoinecarme/pyaf/blob/master/tests/basic_checks/platform_info.py

geniusnhu commented 4 years ago

Here is the version-check output:

PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('Cython_version', '0.29.16') PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('dill_version', '0.3.1.1') PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('keras_version', '2.3.1') PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('matplotlib_version', '3.2.1') PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('numpy_version', '1.18.2') PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('pandas_version', '1.0.3') PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('pathos_version', '0.2.5') PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('pip_version', '19.3.1') PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('pydot_version', '1.3.0') PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('python_implementation', 'CPython') PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('python_version', '3.6.9') PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('scipy_version', '1.4.1') PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('setuptools_version', '46.1.3') PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('sklearn_version', '0.22.2.post1') PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('sqlalchemy_version', '1.3.16') PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('system_platform', 'Linux-4.19.104+-x86_64-with-Ubuntu-18.04-bionic') PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('system_processor', 'x86_64') PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('system_uname', uname_result(system='Linux', node='dcc29eed9a27', release='4.19.104+', version='#1 SMP Wed Feb 19 05:26:34 PST 2020', machine='x86_64', processor='x86_64')) PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('xgboost_version', '0.90') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('CLICOLOR', '1') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('CLOUDSDK_CONFIG', '/content/.config') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('COLAB_GPU', '0') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('CUDA_PKG_VERSION', '10-1=10.1.243-1') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('CUDA_VERSION', '10.1.243') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('CUDNN_VERSION', '7.6.5.32') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('DATALAB_SETTINGS_OVERRIDES', '{"kernelManagerProxyPort":6000,"kernelManagerProxyHost":"172.28.0.3","jupyterArgs":["--ip=\"172.28.0.2\""]}') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('DEBIAN_FRONTEND', 'noninteractive') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('ENV', '/root/.bashrc') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('GCE_METADATA_TIMEOUT', '0') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('GCS_READ_CACHE_BLOCK_SIZE_MB', '16') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('GIT_PAGER', 'cat') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('GLIBCPP_FORCE_NEW', '1') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('GLIBCXX_FORCE_NEW', '1') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('HOME', '/root') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('HOSTNAME', 'dcc29eed9a27') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('JPY_PARENT_PID', '18') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('KMP_DUPLICATE_LIB_OK', 'True') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('KMP_INIT_AT_FORK', 'FALSE') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('LANG', 'en_US.UTF-8') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('LAST_FORCED_REBUILD', '20200316') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('LD_LIBRARY_PATH', '/usr/local/nvidia/lib:/usr/local/nvidia/lib64') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('LD_PRELOAD', '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('LIBRARY_PATH', '/usr/local/cuda/lib64/stubs') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('MPLBACKEND', 'module://ipykernel.pylab.backend_inline') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('NCCL_VERSION', '2.4.8') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('NO_GCE_CHECK', 'True') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('NVIDIA_DRIVER_CAPABILITIES', 'compute,utility') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('NVIDIA_REQUIRE_CUDA', 'cuda>=10.1 brand=tesla,driver>=384,driver<385 brand=tesla,driver>=396,driver<397 brand=tesla,driver>=410,driver<411') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('NVIDIA_VISIBLE_DEVICES', 'all') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('OLDPWD', '/') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('PAGER', 'cat') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('PATH', '/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/tools/node/bin:/tools/google-cloud-sdk/bin:/opt/bin') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('PWD', '/') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('PYTHONPATH', '/env/python') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('PYTHONWARNINGS', 'ignore:::pip._internal.cli.base_command') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('SHELL', '/bin/bash') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('SHLVL', '1') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('TBE_CREDS_ADDR', '172.28.0.1:8008') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('TERM', 'xterm-color') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('TF_CPP_MIN_LOG_LEVEL', '1') PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('TF_FORCE_GPU_ALLOW_GROWTH', 'true') PYAF_SYSTEM_DEPENDENT_ENVIRONMENTVARIABLE ('', '/tools/node/bin/node')

antoinecarme commented 4 years ago

Did some tests with a new Debian test user, installed pyaf, executed a jupyter notebook with a hierarchical model. runs OK.

You probably need to check :

  1. If another/older pyaf is installed.
  2. mix between python2 and python3 on debian (pip3 instead of pip ?)
  3. There seems to be some issues with packages installed from notebooks (PYTHONPATH ? ) :

https://github.com/jupyter/notebook/issues/2359

geniusnhu commented 4 years ago

Using Google colab. The error still appears. I was able to use with Google colab 3 weeks ago, but error appears when I run the notebook again yesterday. When I tried with anaconda Jupyter notebook, no error appeared though.

antoinecarme commented 4 years ago

Also switched to google colab, runs OK. strange!

piLigrym commented 4 years ago

Hi, @antoinecarme! I have faced a similar issue for ForecastEngine. The problem is related to the GIT installation. If we install pyaf via pip it works fine. But when we use git as a source, some files don't install, include Engines. Probably, you need to check the setup.py.

Thank you for a great lib!

antoinecarme commented 4 years ago

@piLigrym

Thanks a lot for the feedback.

Indeed these files are not copied when installing from git, which is wrong, My bad!.

I will double check the setup.py.

antoinecarme commented 4 years ago

@geniusnhu , @piLigrym

Just updated the master branch, Could you please check the install from git when you have some time ?

Thanks in advance

Antoine

piLigrym commented 4 years ago

@antoinecarme Now sub-packages don't install. Probably you need to add: packages=find_packages(include=['pyaf', 'pyaf.*']),

antoinecarme commented 4 years ago

Thanks again .... shot 2

geniusnhu commented 4 years ago

install using pip but got another issue image

antoinecarme commented 4 years ago

Try the fully qualified name of the class :

lEngine = hautof.cHierarchicalForecastEngine()
geniusnhu commented 4 years ago

Yes, sorry. My fault! It works perfectly now.

antoinecarme commented 4 years ago

You are welcome. Hope you enjoy!

antoinecarme commented 4 years ago

Closing.

Will be officially available in release 2.0

eoagustin commented 3 years ago

This still not works for me. Tried both installation through git and pip but still to no use