OSError: libtorch_cuda_cpp.so: cannot open shared object file: No such file or directory(已解决)

问题

在运行torch_geometric测试代码时,出现以下错误

OSError: libtorch_cuda_cpp.so: cannot open shared object file: No such file or directory

torch_geometric测试代码如下

import torch
import torch_geometric
import torch_geometric.data as gdata

edge_index = torch.tensor([[0,2],[1,0],[2,1]]).transpose(0,1)
g = gdata.Data(edge_index=edge_index)
print(g)

问题猜想

  • 既然是动态链接库找不到,我就去虚拟环境对应的site-packages下找有没有这个文件,大概目录是/opt/anaconda3/envs/虚拟环境名/lib/python3.x/site-packages/torch/lib,在里面没有找到libtorch_cuda_cpp.so(其实这个时候应该猜想到安装的Pytorch有问题)
  • 看报错信息中,往上追到了torch-cluster,因此猜想是安装依赖库的错误。安装torch_geometric的同时需要安装torch-cluster、torch-scatter、torch-sparse和torch-spline-conv,感觉是安装这些依赖库的原因。
    安装这些依赖库的网址:https://pytorch-geometric.com/whl/index.html
    我用conda list torch查了一下自己torch的版本,如下
torch                     1.10.0

nvcc -V命令查了CUDA版本为11.1
因此,在上述官网页面选择了torch-1.10.0+cu111,在其中下载了以上四个版本合适的安装包,仍未解决。

解决方案

问题在于torch 1.10.0不是包含CUDA的版本,重装对应版本的torch即可,如下

pip install torch==1.10.0+cu111 -f https://download.pytorch.org/whl/cu111/torch_stable.html

安装完成后,查看其版本如下

# Name                    Version                   Build  Channel
torch                     1.10.0+cu111             pypi_0    pypi

你可能感兴趣的:(Linux,深度学习,python,pytorch,动态链接库,机器学习)