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

安裝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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章