PyG/torch_geometric的一些坑

安装PyG

import os
import torch
os.environ['TORCH'] = torch.__version__
print(torch.__version__)
 
!pip install -q torch-scatter -f https://data.pyg.org/whl/torch-${TORCH}+${CUDA}.html
!pip install -q torch-sparse -f https://data.pyg.org/whl/torch-${TORCH}+${CUDA}..html
!pip install -q git+https://github.com/pyg-team/pytorch_geometric.git

Pytorch_geometric需要跟torch-scatter和torch-sparse一起使用。在安装torch-scatter时可能会遇到编译报错的情况

问题1: 编译报错,gcc版本过低。

centos默认gcc是4.8.5,不支持c++ 14,因此需要升级gcc,版本4.9以上就可以了。

问题2:编译报错:fatal error: cusolverDn.h: No such file or directory

  • 报错原因:环境配置原因,编译使用的cuda环境不是系统的cuda环境,当前nvcc指令是conda虚拟环境中的nvcc(目录类似于/home/anaconda3/envs/torch/bin/nvcc),这个cuda环境中不包含cusolverDn.h头文件,系统的cuda实际在/usr/local/cuda/include/目录下。

  • 解决方案:更改环境配置,将PATH中的/usr/local/cuda/include/移到/home/anaconda3/envs/torch/bin之前就好了。

    原来的PATH=/home/anaconda3/envs/torch/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:….
    现在的PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:/home/anaconda3/envs/torch/bin:….
    指令:export PATH=/usr/local/cuda/bin:$PATH

  • 解决方案来源github

问题3:通过pip安装pyg一定要注意版本

通常pyg要跟torch_scatter、torch_sparse、torch_cluster、torch_spline_conv一起安装,这几个包的cuda版本要跟pytorchcuda保持一致
Follow官网的安装方式,一步一步安装,确保各个包能在下面的网页中找到对应的版本,否则就会报一些乱七八糟的错误。

pip install pyg_lib torch_scatter torch_sparse -f https://data.pyg.org/whl/torch-${TORCH}+${CUDA}.html
pip install torch-geometric

使用PyG

问题1:AttributeError: Can’t get attribute ‘DataEdgeAttr’

import torch_geometric.transforms as T
from ogb.nodeproppred import PygNodePropPredDataset
dataset_name = 'ogbn-arxiv'
# Load the dataset and transform it to sparse tensor
dataset = PygNodePropPredDataset(name=dataset_name, transform=T.ToSparseTensor()) #root='data',
print('The {} dataset has {} graph'.format(dataset_name, len(dataset)))
  • 报错原因,服务器(pytorch 1.8.1+cu101, torch_geometric 2.0.3)上下载数据集比较慢,因此在本地(pytorch 1.13.1+cpu, torch_geometric 2.2.0)下载好上传到服务器,一起上传上去的还有processed文件下的pt文件,由于pytorch/torch_geometric版本不一致导致解析失败。
  • 解决方案:删除processed目录后重新执行一遍代码即可。
  • 解决方案来源github
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
torch_geometric是一个基于PyTorch的几何深度学习扩展库,用于处理数据和几何数据。它提供了许多用于卷积网络(GCN)、神经网络(GNN)和几何深度学习的功能和工具。安装torch_geometric需要按照官方文档中提供的步骤进行操作。 首先,你需要查看你的CUDA版本。这可以通过在终端中运行命令`nvcc --version`来获取。然后,根据你的CUDA版本选择合适的安装命令。例如,如果你的CUDA版本是1.11.0 cu112,你可以使用以下命令安装torch_geometric: ``` pip install torch-scatter torch-sparse torch-cluster torch-spline-conv torch-geometric -f https://data.pyg.org/whl/torch-1.11.0%2Bcu112.html ``` 如果你的CUDA版本是1.11.0 cu113,你可以使用以下命令安装torch_geometric: ``` pip install torch-scatter torch-sparse torch-cluster torch-spline-conv torch-geometric -f https://data.pyg.org/whl/torch-1.11.0%2Bcu113.html ``` 请确保你已经按照官方文档中提供的步骤进行了正确的安装。你可以在官方网站上找到更多关于安装torch_geometric的详细信息:<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [如何安装torch_geometric?](https://blog.csdn.net/qq_41800917/article/details/120282841)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【无标题】Torch_geometric安装教程, 问题汇总详解。](https://blog.csdn.net/qq_42534728/article/details/125065960)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值