在 Colab 中为 torch_sparse 造轮子需要很长时间

问题描述 投票:0回答:7

我正在尝试在 Google Colab 上运行以下命令:

!pip install torch_sparse

起初,它似乎运行良好:

Collecting torch_sparse
  Downloading https://files.pythonhosted.org/packages/9a/86/699eb78ea7ce259da7f9953858ec2a064e4e5f5e6bf7de53aa6c8bb8b9a8/torch_sparse-0.6.9.tar.gz
Requirement already satisfied: scipy in /usr/local/lib/python3.7/dist-packages (from torch_sparse) (1.4.1)
Requirement already satisfied: numpy>=1.13.3 in /usr/local/lib/python3.7/dist-packages (from scipy->torch_sparse) (1.19.5)
Building wheels for collected packages: torch-sparse

但从这里开始,它会永远运行,不会输出任何错误消息,而且轮子永远不会建成。

我的 Colab 环境是托管的并使用 GPU 加速器。我也可以预先安装torch并初始化cuda,但它不会改变任何东西。

python google-colaboratory sparse-matrix torch
7个回答
18
投票

将之前的所有答案放在一起,这里是应该在任何 colabs 运行时都可以工作的代码片段

import torch

!pip uninstall torch-scatter torch-sparse torch-geometric torch-cluster  --y
!pip install torch-scatter -f https://data.pyg.org/whl/torch-{torch.__version__}.html
!pip install torch-sparse -f https://data.pyg.org/whl/torch-{torch.__version__}.html
!pip install torch-cluster -f https://data.pyg.org/whl/torch-{torch.__version__}.html
!pip install git+https://github.com/pyg-team/pytorch_geometric.git

13
投票

安装实际上在30分钟到1小时后完成(我没有确切的时间)。但是,当尝试导入 torch_sparse 时,我遇到了此处描述的问题:Google Colab 上的 PyTorch Geometric CUDA 安装问题

我尝试应用最流行的答案,但由于它似乎已经过时,我将其更新为以下内容:

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

安装效果很好,只花了几秒钟。到目前为止,看起来它使我能够从 torch_geometric/torch_sparse 导入我需要的所有内容。如果我稍后遇到任何问题,我会告诉你!


5
投票

为了简化可移植性,还可以根据可用的 pytorch 版本自动提供相应 url 的路径:

import torch
print(torch.__version__)
!pip install torch-scatter torch-sparse -f https://data.pyg.org/whl/torch-{torch.__version__}.html

3
投票

以上答案都不适合我。建筑上的轮子转啊转,转啊转。我在下面写了截至发布日期有效的内容:

  1. 首先找到您的火炬版本:

    import torch print(torch.__version__)

1.10.0+cu111

  1. 如果你像我一样并且你的colab的cuda没有在pytorch-geometric的安装说明中列出,那么借鉴他们的教程笔记本的安装方法,使用以下:
!pip uninstall torch-scatter torch-sparse torch-geometric torch-cluster  
!pip install torch-scatter -f https://data.pyg.org/whl/torch-1.10.0+cu111.html
!pip install torch-sparse -f https://data.pyg.org/whl/torch-1.10.0+cu111.html
!pip install torch-cluster -f https://data.pyg.org/whl/torch-1.10.0+cu111.html
!pip install git+https://github.com/pyg-team/pytorch_geometric.git

注意:您可以使用

https://data.pyg.org/whl/torch-{torch.__version__}.html
来替换上面的

import torch

!echo https://data.pyg.org/whl/torch-{torch.__version__}.html 

https://data.pyg.org/whl/torch-{1.10.0+cu111}.html


1
投票

为了补充之前的答案,Matthias Fey 建议使用以下方法在 colab 中下载依赖项:

!pip install -q torch-scatter -f https://data.pyg.org/whl/torch-1.9.0+cu111.html
!pip install -q torch-sparse -f https://data.pyg.org/whl/torch-1.9.0+cu111.html
!pip install -q git+https://github.com/pyg-team/pytorch_geometric.git

这个 Colab 链接Github 链接 可能会有所帮助。


0
投票

在我的环境中,我在 Windows 上安装了 pytorch 2.0.1 和 cuda 11.8。

在 PyG 安装指南:https://pytorch-geometric.readthedocs.io/en/latest/install/installation.html,我提供了我的系统规范并得到了命令:

pip安装torch_scatter torch_sparse torch_cluster torch_spline_conv -fhttps://data.pyg.org/whl/torch-2.0.0+cu118.html

这个效果很好


0
投票

我在运行Stanford CS224W的Colab 2时遇到了这个问题。这是我的解决方案。

首先,检查您拥有的火炬版本:

import torch
import os
print("PyTorch has version {}".format(torch.__version__))

我的是:

PyTorch has version 2.2.1+cu121

然后,当 pip 安装时,请确保安装相同的版本:

!pip install torch-scatter -f https://pytorch-geometric.com/whl/torch-2.2.1+cu121.html
!pip install torch-sparse -f https://pytorch-geometric.com/whl/torch-2.2.1+cu121.html

这解决了我的问题。斯坦福 CS224W 的 colab 提供的默认安装是硬编码版本,可能与您拥有的 pytorch 版本不同,这就是问题的根源。

© www.soinside.com 2019 - 2024. All rights reserved.