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"