欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Pytorch: ModuleNotFoundError: No module named 'torch_scatter.scatter_cpu'

程序员文章站 2022-05-28 22:27:05
...

安装pytorch一些库的时候会遇到类似这样的错误;

ModuleNotFoundError: No module named 'torch_scatter.scatter_cpu'

ModuleNotFoundError: No module named 'torch_scatter.scatter_cuda'

或者;

往往都是因为CUDA配置不当造成的。请看我的博客,如何正确的配置CUDA,翻遍网上教程都没有本博客讲得通透。

 

CUDA配置一般情况下配置两个环境变量。但是为了防止出错,最好能够配置4个环境变量。

安装CUDA后会提醒配置两个:

Please make sure that

 -   PATH includes /usr/local/cuda-10.0/bin

 -   LD_LIBRARY_PATH includes /usr/local/cuda-10.0/lib64, or, add /usr/local/cuda-10.0/lib64 to /etc/ld.so.conf and run ldconfig as root

所以

vim ~/.bashrc

.bashrc是root权限用户才能访问管理的配置文件,乱配的话,系统会崩。

export CUDA_HOME=/usr/local/cuda-10.0

export PATH=/usr/local/cuda-10.0/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH

一般情况下,都会自动创建一个软连接到/usr/local/cuda

所以 export CUDA_HOME=/usr/local/cuda 也是可以的

当然配置到PATH里也比较好,export PATH=/usr/local/cuda-10.0/bin:$PATH

配置完了CUDA一般是要安装CUDNN,最权威的安装方法见:

https://blog.csdn.net/dongfangxiaozi_/article/details/89453992

然后可选配置下面的两个:

export CPATH=/usr/local/cuda/include:$CPATH

export DYLD_LIBRARY_PATH=/usr/local/cuda-10.0/lib:$DYLD_LIBRARY_PATH

基本上就没问题了。记得source ~/.bashrc使配置生效。

如果还不行,旧重启服务器或者重装pytorch。

有时候安装了多个Cuda确保是干净地安装,而且环境配置唯独一个,保证不会混乱,否则各类PATH可能对应了不同版本的Cuda。可以删除之前旧的cuda环境,尤其是以yum 安装的cuda环境,可以通过yum remove删除,例如;

rpm -qa | grep cuda 查询当前以rpm / yum安装的cuda环境,一律删除

yum remove cuda-repo-rhel7-9-0-local-9.0.176-1.x86_64

yum remove cuda-cublas-9-0-9.0.176-1.x86_64