谷歌 colab 上的 pytorch 几何“检测到 PyTorch 和 torch_sparse 是用不同的 CUDA 版本编译的”

Posted

技术标签:

【中文标题】谷歌 colab 上的 pytorch 几何“检测到 PyTorch 和 torch_sparse 是用不同的 CUDA 版本编译的”【英文标题】:pytorch geometric "Detected that PyTorch and torch_sparse were compiled with different CUDA versions" on google colab 【发布时间】:2020-08-01 11:04:33 【问题描述】:

我是 pytorch 几何的新手,尝试将其安装到我的计算机上但失败了,因此我尝试在 Google Colab 上运行代码。根据这个先前的问题(这对我没有帮助,我不确定它是否是同一个问题):

PyTorch Geometric CUDA installation issues on Google Colab

我做到了:

!pip install --upgrade torch-scatter

!pip install --upgrade torch-sparse

!pip install --upgrade torch-cluster

!pip install --upgrade torch-spline-conv 

!pip install torch-geometric

!pip install torch-cluster==latest+cu101 -f https://s3.eu-central-1.amazonaws.com/pytorch-geometric.com/whl/torch-1.4.0.html 

!pip install torch-scatter==latest+cu101 torch-sparse==latest+cu101 torch-spline-conv==latest+cu101 -f https://s3.eu-central-1.amazonaws.com/pytorch-geometric.com/whl/torch-1.4.0.html

他们打印:

Successfully installed torch-cluster-1.5.4

Successfully installed torch-scatter-2.0.4 torch-sparse-0.6.1 torch-spline-conv-1.2.0

但是,当我尝试运行时

import torch_geometric.datasets as datasets

我明白了:

RuntimeError: Detected that PyTorch and torch_sparse were compiled with different CUDA versions. PyTorch has CUDA version 10.1 and torch_sparse has CUDA version 0.0. Please reinstall the torch_sparse that matches your PyTorch install.

任何帮助将不胜感激。

【问题讨论】:

查看pytorch-geometric.readthedocs.io/en/latest/notes/… 会显示“检查 PyTorch 是否安装了 CUDA 支持:python -c "import torch; print(torch.cuda.is_available())"”。如果我在 colab 会话中输入 !python -c "import torch; print(torch.cuda.is_available())",我会收到 False,这是一个不好的迹象,该网站建议我应该输入 True 但是,按照这个:***.com/a/60338745/8565438,如果我点击Menu > Runtime > Change runtime 然后将硬件加速器更改为GPU,点击Save ,运行与以前相同的代码(!python -c "import torch; print(torch.cuda.is_available())"),我得到一个True 输出。如果您将硬件加速器更改为 GPU,您会收到之前遇到的错误吗? 我自己试过了,我认为如果你启用 GPU 硬件加速器它会起作用(我在安装你安装的所有东西之前启用了,如果你启用它之后会发生什么)。 import torch_geometric.datasets as datasets 在这种情况下运行,没有错误消息。 【参考方案1】:

我想出了以下 sn-p,它应该可以在 Colab 上安装 PyTorch Geometric 及其依赖项: https://gist.github.com/ameya98/b193856171d11d37ada46458f60e73e7

# Add this in a Google Colab cell to install the correct version of Pytorch Geometric.
import torch

def format_pytorch_version(version):
  return version.split('+')[0]

TORCH_version = torch.__version__
TORCH = format_pytorch_version(TORCH_version)

def format_cuda_version(version):
  return 'cu' + version.replace('.', '')

CUDA_version = torch.version.cuda
CUDA = format_cuda_version(CUDA_version)

!pip install torch-scatter     -f https://pytorch-geometric.com/whl/torch-TORCH+CUDA.html
!pip install torch-sparse      -f https://pytorch-geometric.com/whl/torch-TORCH+CUDA.html
!pip install torch-cluster     -f https://pytorch-geometric.com/whl/torch-TORCH+CUDA.html
!pip install torch-spline-conv -f https://pytorch-geometric.com/whl/torch-TORCH+CUDA.html
!pip install torch-geometric

【讨论】:

【参考方案2】:

我已经更新了上一个问题的答案。希望这现在有效。另外别忘了选择GPU Runtime

!pip install torch-geometric \
  torch-sparse==latest+cu101 \
  torch-scatter==latest+cu101 \
  torch-cluster==latest+cu101 \
  -f https://pytorch-geometric.com/whl/torch-1.4.0.html

【讨论】:

以上是关于谷歌 colab 上的 pytorch 几何“检测到 PyTorch 和 torch_sparse 是用不同的 CUDA 版本编译的”的主要内容,如果未能解决你的问题,请参考以下文章

使用 Google Colab上的PyTorch YOLOv3

使用谷歌colab训练crnn模型

如何修复 Colab 上的“错误:pytorch3d 构建***失败”错误?

如何确保所有 PyTorch 代码充分利用 Google Colab 上的 GPU

pytorch 代码突然在 colab 上失败,系统上的 NVIDIA 驱动程序太旧了

Google Colab 上的 PyTorch Geometric CUDA 安装问题