安装torch,torch_geometric,torch_sparse,torch_scatter

手动安装这几个包是总是出错(OSError: [WinError 126] 找不到指定的模块),是因为版本之间的冲突,可以使用命令自动寻找版本。

安装步骤:

1)安装pytorch

  下载链接:https://download.pytorch.org/whl/torch_stable.html 

  选择对应的版本,包括torch版本、cpu/cuda、python不同版本、windows/linux。

  比如我现在的是torch=1.4.0、cu101、py36、linux版本   #箱安装cuda版本的torch,可通过nvcc -v 查看已安装的cuda版本

2)在命令行执行下述命令

  CUDA=cu92 #  cpu、cu92、cu100或cu101

  pip install torch-scatter==latest+${CUDA} -f https://pytorch-geometric.com/whl/torch-1.4.0.html

  pip install torch-sparse==latest+${CUDA} -f https://pytorch-geometric.com/whl/torch-1.4.0.html

  pip install torch-cluster==latest+${CUDA} -f https://pytorch-geometric.com/whl/torch-1.4.0.html

  pip install torch-spline-conv==latest+${CUDA} -f https://pytorch-geometric.com/whl/torch-1.4.0.html

  pip install torch-geometric

遇到的错误:

一、运行项目时from torch_geometric.utils import scatter_这一行报错:ImportError: cannot import name 'scatter_'

  是因为torch_geometric版本不对,可以尝试重新安装低版本或高版本的torch_geometric:

    pip install torch_geometric==1.4.1

二、在ubuntu上重装GPU版本,出现错误:libcublas.so.9.2: cannot open shared object file: No such file or directory

这个错误可能是如下问题导致的:

  • Cuda-9.2未安装或安装不正确
  • 未添加环境变量或添加完未更新

1. 首先查看是否安装了cuda-9.2:(nvcc -v 或查看  /usr/local/cuda-9.2/lib64/ibcublas.so.9.2存在)。

2. 若已安装检查环境变量是否添加

sudo gedit .bashrc
在末尾加入:
export  PATH="$PATH:/usr/local/cuda-9.2/bin" export  LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-9.2/lib64"
更新环境变量
source .bashrc

  如果还是报错,考虑卸载并重新安装:

cd /usr/local/cuda/bin
sudo ./uninstall_cuda_9.2.pl

3. 安装cuda-9.2

  下载链接: https://developer.nvidia.com/cuda-92-download-archive?target_os=Windows&target_arch=x86_64

  1)检查环境是否满足安装cuda条件:

lspci | grep -i nvidia  #电脑中是否有支持cuda的GPU
uname -m && cat /etc/*release #linux系统是否支持cuda
#结果    x86_64 DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 ......
 gcc –version  #系统是否安装了gcc
#结果  gcc (Ubuntu 5.4.0-6ubuntu1~16.04.5) 5.4.0 20160609 ......
#若未安装请使用下列命令进行安装: sudo apt-get  install  build-essential
sudo apt-get install linux-headers-$(uname -r) #可以安装对应kernel版本的kernel header和package development 
#结果  ...... 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 4 个软件包未被升级。 表示系统里已经有了,不用重复安装。

  2)采用runfile安装cuda-9.2

  到cuda官网,根据系统信息下载cuda-9.2的  XXX.run文件

lsmod | grep nouveau #如果有输出则代表nouveau正在加载。需要我们手动禁掉nouveau。

#Ubuntu的nouveau禁用方法:
#在/etc/modprobe.d中创建文件blacklist-nouveau.conf 输入命令:
sudo vi /etc/modprobe.d/blacklist-nouveau.conf  
#利用vi编辑器编辑和保存文件) 在文件中输入一下内容: 
blacklist nouveau options nouveau modeset=0 
sudo update-initramfs –u 
lsmod | grep nouveau #若无内容输出,则禁用成功,若仍有内容输出,请检查操作,并重复上述操作。

  Ctrl+Alt+F1进入文本模式(命令行界面):

sudo sh cuda_9.1.85_387.26_linux.run --no-opengl-libs
#在提示 Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 387.26? (y)es/(n)o/(q)uit: 时,选n,其他选y

 添加环境变量并更新(参考2.),并完成以下操作

sudo vim /etc/profile export #设置环境变量和动态链接库
PATH=/usr/local/cuda/bin:$PATH #在文件尾部加入

sudo vim /etc/ld.so.conf.d/cuda.conf # 创建链接文件
/usr/local/cuda/lib64 #在文件尾部加入
sudo ldconfig 

#测试 cuda 的 Samples:
cd NVIDIA_CUDA-9.1_Samples
sudo make all -j4
cd bin/x86_64/linux/release
./deviceQuery

#结果 ....deviceQuery...Device0 = GeForce GT 635M Result = PASS 表示成功

  参考:https://www.jianshu.com/p/00c37b09f0f3

     https://blog.csdn.net/qq_39521554/article/details/82829886

原文地址:https://www.cnblogs.com/yvlian/p/12955612.html