Installation

How to Install

It is recommended to use pip or conda for PyPOTS installation as shown below:

# via pip
pip install pypots            # the first time installation
pip install pypots --upgrade  # update pypots to the latest version
# install from the latest source code with the latest features but may be not officially released yet
pip install https://github.com/WenjieDu/PyPOTS/archive/main.zip

# via conda
conda install conda-forge::pypots  # the first time installation
conda update  conda-forge::pypots  # update pypots to the latest version

Required Dependencies

  • Python >=3.8

  • h5py

  • numpy

  • scipy

  • sympy

  • einops

  • pandas

  • matplotlib

  • tensorboard

  • scikit-learn

  • torch >=1.10.0

  • tsdb >=0.6

  • pygrinder >=0.6

  • benchpots >=0.2

Optional Dependencies

  • torch-geometric (optional, required for GNN models like Raindrop)

  • torch-scatter (optional, required for GNN models like Raindrop)

  • torch-sparse (optional, required for GNN models like Raindrop)

Reasons of Version Limitations on Dependencies

  • Why we need python >=3.8?

Python v3.6 and before versions have no longer been supported officially (check out status of Python versions here). Besides, PyG (torch-geometric) is available for Python >= v3.7 (refer to https://pytorch-geometric.readthedocs.io/en/latest/install/installation.html#installation-via-anaconda ). Although torch-geometric is an optional dependency, we hope things go smoothly when our users opt to install it. In addition, note that Python v.3.7 has also been in the end-of-life status since 2023-06-27. Hence, we raise the minimum support Python version to v3.8.

  • Why we need PyTorch >=1.10?

Because of pytorch_sparse, please refer to https://github.com/rusty1s/pytorch_sparse/issues/207#issuecomment-1065549338.

Acceleration

GPU Acceleration

Neural-network models in PyPOTS are implemented in PyTorch. So far we only support CUDA-enabled GPUs for GPU acceleration. If you have a CUDA device, you can install PyTorch with GPU support to accelerate the training and inference of neural-network models. After that, you can set the device argument to "cuda" when initializing the model to enable GPU acceleration. If you don’t specify device, PyPOTS will automatically detect and use the default CUDA device if multiple CUDA devices are available.

CPU Acceleration

If you’re using a Mac device with Apple Silicon in you can install the accelerate data-science packages to obtain faster processing speed, because they get optimized for Apple Silicon. conda install numpy scipy scikit-learn numexpr "libblas=*=*accelerate"

If you’re using devices with Intel chips in, you should install the distribution of MKL, which is optimized for multi-core Intel CPUs, conda install numpy scipy scikit-learn numexpr "libblas=*=*mkl"

If you’re using devices with AMD chips in, you can install with the distribution of OpenBLAS, conda install -c conda-forge numpy scipy scikit-learn numexpr "libblas=*=*openblas"