pytorch_sparse: AttributeError: 'NoneType' object has no attribute 'origin'

I am using torch-sparse version 0.6.8 as a dependency for a project I am working on.

However, I get the following error inside the torch_sparse/__init__.py file: torch.ops.load_library(importlib.machinery.PathFinder().find_spec( AttributeError: 'NoneType' object has no attribute 'origin'

It seems that the find_spec() call returns None.

I am running on CUDA on Ubuntu and using torch version 1.7.1 and torch-scatter version 2.0.5 Do you know how I can resolve this error?

Thanks

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 5
  • Comments: 22 (6 by maintainers)

Most upvoted comments

Did you install the CUDA package, e.g. via https://pytorch-geometric.com/whl/torch-1.8.0+cu111.html? Otherwise, you may try to install with the --no-index option, i.e.

pip install --no-index torch-scatter -f https://pytorch-geometric.com/whl/torch-1.8.0+{CUDA}.html

I will leave my 50 cents here, I tried other methods to solve this problem but then but just got other issues 😅 I solved them by updating to PyTorch 1.8.1 and CUDA to 11.1 (using Ubuntu 20.04). Here are the steps:

  1. Update CUDA to the latest version. NOTE: if you encounter problems with the CUDA installation, follow this solution (basically purge the Nvidia drivers and reinstall them so to avoid problems with dependencies)
  2. Install latest version of torch with cuda by running this (from PyTorch webpage)
pip3 install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
  1. Install torch-geometric and its dependencies this in your terminal (from the PyTorch Geometric installation guide):
pip install torch-scatter -f https://pytorch-geometric.com/whl/torch-1.8.0+cu111.html
pip install torch-sparse -f https://pytorch-geometric.com/whl/torch-1.8.0+cu111.html
pip install torch-cluster -f https://pytorch-geometric.com/whl/torch-1.8.0+cu111.html
pip install torch-spline-conv -f https://pytorch-geometric.com/whl/torch-1.8.0+cu111.html
pip install torch-geometric

This issue has not been solved.

Thanks for your reply. I have now resolved the issue. The *.so files were getting created in the torch_sparse folder. The problem was that the cuda .so files weren’t getting created. I had to change the torch_sparse and torch_cluster versions. I don’t believe I had multiple torch_sparse versions.

I met the same problem and fixed it by installing cuda package. Check if ‘/usr/local/cuda-11.x’ is existing. If you only install ‘cuda toolkit’ in conda virtual env, you can’t find it. (refer to below explanation)

image

My solution is:

  1. install ‘cuda’ (not in conda virtual env)
  2. install torch_geometric in conda virtual env using below commands conda create -n XXX python=3.8 conda activate XXX conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge conda install pytorch-geometric -c rusty1s -c conda-forge

There is also a PyTorch conda package in conda-forge which is picked up (rather than the one from the -c pytorch channel). Swapping the order of channels, i.e., putting pytorch before conda-forge, should fix this.