谷歌 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 上的“错误:pytorch3d 构建***失败”错误?
如何确保所有 PyTorch 代码充分利用 Google Colab 上的 GPU